42704

Программирование вложенных циклов и матричных задач

Лабораторная работа

Информатика, кибернетика и программирование

В самом начале для удобстава пользователю предоставляется менюшка с выбором действий. 1-ручное заполнение матрицы, 2 – рандомное и выход из программы. Эта реализация выполняется спомощь оператора switch (+ разумеется выбор действий case 1, case 2, case 3). После того как матрица будет заполнена программа по условию задачи с помощью цикла for переберает каждый эл. матрицы по диагонале и ищет отрицательный эл. если не находит то выводит сообщение “Отрицательные числа в диагонале отсудствуют”.

Русский

2013-10-30

174 KB

4 чел.

Министерство образования и науки РФ

Федеральное государственное бюджетное образовательное учреждение

Высшего профессионального образования

Владимирский государственный университет

имени А.Г. и Н.Г. Столетовых

(ВлГУ)

Лабораторная работа № 4

по дисциплине:

«Языки программирования»

на тему:

Программирование вложенных циклов
и матричных задач

выполнил:

ст.гр. ВТс-212

Илларионов В.А.

приняла:

Сущинина А. А.

Владимир 2012г.

  1.  Дана действительная квадратная матрица порядка 10. В строках с отрицательным элементам на главной диагонали найти наибольший из всех элементов
  2.  Схема алгоритма решения задачи.


  1.  Спецификации всех разработанных процедур и/или функций.

В самом начале для удобстава пользователю предоставляется менюшка с выбором действий. 1-ручное заполнение матрицы, 2 – рандомное и выход из программы. Эта реализация выполняется спомощь оператора switch (+ разумеется выбор действий case 1, case 2, case 3). После того как матрица будет заполнена программа по условию задачи с помощью цикла for переберает каждый эл. матрицы по диагонале и ищет отрицательный эл. если не находит то выводит сообщение “Отрицательные числа в диагонале отсудствуют”. Нас все же интересует когда отрицательный присудствует, тогда программа выводит с помощьют товоже цикла for (+ if для нахождения макс числа) все эл. строки матрицы где был найден отрыцательный эл., также наибольшее эл. и их сумму.

  1.  Текст программы решения задачи на языке высокого уровня С++

#include "stdafx.h"

#include <iostream>

#include <cmath>

#include <windows.h>

using namespace std;

const int MAX_SIZE = 100;     

int main()

{ setlocale(LC_ALL, "RUS");

 int n = 0; //  размер матрицы

 float x[MAX_SIZE] [MAX_SIZE];

int lm = 0; //для меню

cout << "Выберите желаемое действие: " << endl;

cout << "1: Ввести матрицу в ручную: " << endl;

cout << "2: Ввести данные в матрицу рандомно" << endl;

cout << "3: Выход из программы: ";

cin >> lm;

 switch(lm){    //switch

 case 1:

// для ручного ввода матрицы

cout<<"Введите размер матрицы:  ";

cin>>n;

cout<<"\n";

    for( int i = 0; i < n; i++)                 //внешний цикл – по строкам

 {

   cout<<"Введите значения строки матрицы "  << i+1 <<"\t";

   cout<<"\n\n";

 for( int j = 0; j < n; j++)     //вложенный цикл – по столбцам

 {     //генерация псевдослучайного числа

              cout<<"Введите значения столбца матрицы "  << j+1<<"\t";

     cin>> x[i][j];

     cout<<"\n";

     }

 } // enf for внешний цикл – по строкам

break;

 case 2:

// инициализация массива псевдослучайными числами---------------------------------

   cout<<"Введите размер матрицы:  ";

cin>>n;

cout<<"\n";

    for( int i = 0; i < n; i++)                 //внешний цикл – по строкам

 for( int j = 0; j < n; j++)     //вложенный цикл – по столбцам

 {     //генерация псевдослучайного числа

             x[i][j] = ((float)rand()/RAND_MAX+rand()%100 - rand()%50);  

 }

break;

 case 3:

 return 0;

}

//вывод матрицы на экран---------------------------------------------------------------------

            printf("\n\n");

            for( int i = 0; i < n; i++)

                for( int j = 0; j < n; j++)

         printf("[%i][%i] элемент матрицы = %3.2f\n", i, j, x[i][j]);

printf("\n\n");

 

 float Sum_String = 0, Max_String = 0;

 for (int i = 0; i < n; i++) // отрицательная диагональ

{

 if ( x[i][i] < 0)

 {

  int j;

  cout << "Элементы массиа в строке " << i <<"\n\n";

  for ( int j = 0; j < n; j++)

   {

   printf (" %3.2f\t", x[i][j]);

    Sum_String = Sum_String + x[i][j]; // сумма строки

    if (Max_String < x[i][j]) Max_String =x[i][j]; // максимальное значение в строке

   }

         cout << "\n";

      printf ("\n\Наибольшее число в строке  = %3.2f" , Max_String);

      printf ("\n\Сумма  чисел в строке = %3.2f" ,Sum_String);

               cout << "\n\n";

 } // end if ( x[i][i] < 0)

} // end for отрицательная диагональ

   if (Max_String == Sum_String && Sum_String == 0)

cout << "В диагонале матрицы отсутствую отрицательные числа \n" ;

 

printf("\n\n");

system("pause");

 return 0;

}

  1.  Тесты и результаты тестирования

 


  1.  Выводы по работе

Таким образом, в данной работе была составлена программа, которая строит матрицу в ручном и автоматическом режиме, находит отрицательные числа в диагонали, в данной диагонали считает сумму на находит наибольшее значение и все это выводит на экран.


 

А также другие работы, которые могут Вас заинтересовать

80971. Планування роботи із контурною картою при вивченні теми: «Великі географічні відкриття: зустріч цивілізацій» (8 клас) 37.85 KB
  Розглядаючи тему: Великі географічні відкриття доба відкриттів європейськими мореплавцями невідомих раніше морів та океанів островів і континентів здійснення першої навколосвітньої морської подорожі колонізації заморських територій кінець XVсеред. Нові географічні відкриття зумовлювалися насамперед бурхливим розвитком продуктивних сил прагненням європейців задовольнити зрослі потреби в дорогоцінних металах і прянощах відповідно пошуками морських шляхів до Китаю та Індії. Великі географічні відкриття стали можливими завдяки значному...
80972. Способи вивчення пізнавального інтересу учнів до історії 38.89 KB
  В учнівських диктантах було відтворено від 8 до 21 інформаційних одиниць. Діагностуючий диктант допомагає вчителю вчасно звернути увагу на труднощі в сприйнятті й осмисленні історичного матеріалу що є в учнів даного класу 9віку0. Якщо взяти за основу зміни особистісних особливостей учнів то в своїй роботі у напрямку посилення пізнавального інтересу учнів до історії перш за все беру до уваги що учні основної школи та старшої школи мають зовсім різну підготовки виходячи з їх віку.
80973. Дайте оцінку сучасним вимогам до уроків історії 39.52 KB
  Розуміння і виконання вчителем сучасних вимог до уроку які визначаються соціальним замовленням. Оптимального балансу в змісті уроку компонентів світової національної регіональної та локальної історії. Творчою емоційної атмосфери заснованої на інтерес учнів до змісту уроку та видами навчальної роботи...
80974. Визначення рівня розвитку пізнавальних здібностей школярів до вивчення історії 32.33 KB
  Наприклад: 1 Складіть максимальну кількість речень з одними і тими самими словами але різних за смислом: лицаріхрестоносці кривава битва князівські дружини діагностика вербальної уяви.Порівняйте два зображення на історичну тему і знайдіть відмінності діагностика довільної уваги. По деталі здогадайтеся що це за споруда і назвіть її діагностика образної уяви. На основі аналітичного опису намалюйте предмет про який іде мова діагностика репродуктивної та творчої уяви.
80975. Права та обов’язки вчителя історії 36.39 KB
  Мають право на: захист професійної честі гідності; участь в обговоренні та вирішенні питань організації навчальновиховного процесу; проведення науководослідної експериментальної пошукової роботи відповідно до діючих нормативних документів; вільний вибір форм методів засобів навчання виявлення педагогічної ініціативи; дострокову атестацію на отримання відповідної категорії і педагогічного звання; соціальне і матеріальне забезпечення відповідно до законодавства; підвищення кваліфікації перепідготовку вільний вибір змісту...
80976. Проблема методів навчання історії та їх класифікація 36.03 KB
  Провідні поняття повязані з процесом навчання історії стали предметом наукового інтересу в дискусіях радянських методистів у 5070ті pp. В обговоренні проблеми свої варіанти класифікації методів навчання історії в різні роки запропонували всі провідні вчені однак вони так і не прийшли до єдиної думки. Тому в сучасній методичній літературі збереглася різноманітність підходів до визначення понять методи прийоми способи навчання різні підстави їх систематизації і деяка суперечливість у вживанні методичних термінів у спеціальній...
80977. Дайте загальну характеристику історичних карт 37.4 KB
  Історичні карти карти що відображують історичні явища і події взаємозвязки суспільних явищ минулого з географічними чинниками показують розміщення древніх культур держав соціальні рухи торгівельні дороги пересування людей військові удари на карті показують стрілками місця боїв схрещеними мечами райони повстань крапками або вогнищами. Історичні карти створюються на географічній основі і є математично визначеним зменшеним узагальненим образнознаковим зображенням історичних подій явищ процесів чи періодів...
80978. Прийоми і засоби навчання історії 33.36 KB
  Прийоми навчання це складова методу що немає самостійного навчального завдання а підпорядковується тому завданню який виконує метод. Методи навчання класифікують на загальні можуть використовуватися в процесі навчання будьяких навчальних предметів і спеціальні застосовуються для викладання окремих предметів але не можуть бути використані при викладанні інших предметів. Засіб навчання знаряддя за доп.
80979. Як використати на уроці методичні можливості підручника 38.26 KB
  Сучасна практика викладання історії в школах України переконливо свідчить що шкільний підручник ще довго залишатиметься найважливішим засобом навчання незважаючи на зростання інтересу до інших зокрема наочних комп\'ютерних технологійПерше знайомство з будьяким підручником учитель і учень розпо чинають із вступного тексту структури і особливостей його побудо ви різними видами тексту запитаннями і завданнями а також ілюст раціями картами. Весь текст підручника за обсягом і призначенням поділяють на основний додатковий і...