42704

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

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

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

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

Русский

2013-10-30

174 KB

3 чел.

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

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

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

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

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

(ВлГУ)

Лабораторная работа № 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.  Выводы по работе

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


 

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

65653. Геометричне моделювання сім’ї кривих з урахуванням впливу попередніх елементів на наступні 1.04 MB
  Ефективний підхід, що може бути покладений в основу таких способів, полягає у побудові елементів сім’ї кривих складної геометричної форми. В задачах геометричного моделювання гетерогенних процесів ці криві виступають як геометричні моделі ліній розділу фаз розвитку процесу.
65654. Патологічна схильність до азартних ігор (клініка, терапія та реабілітація) 644.5 KB
  Ситуація, що пов’язана з адиктивною поведінкою, є досить проблемною для багатьох країн світу, у тому числі, і України. Причина полягає у докорінній відмінності стереотипів мислення та світогляду послідовних генерацій, що виховувались у різних соціально-економічних умовах, а також через затяжну політичну...
65656. Подолання дезорганізації діяльності підрозділів промислового підприємства 198.5 KB
  Надмірна організованість діяльності підприємств є одним з чинників зниження стійкості їхньої діяльності втрати креативності в цій діяльності. Це зумовлює необхідність і доцільність надання певної свободи дій окремим працівникам та...
65657. Система педагогічних задач як засіб формування професійних умінь учителів початкових класів 284.5 KB
  Домінуючою на сучасному етапі й у прогнозованому майбутньому розвитку вищої професійної школи є парадигма особистісно зорієнтованої освіти, концепції та моделі її реалізації через компетентнісний підхід. У зв’язку з цим перетворення всіх компонентів стосуються не лише структурних складових...
65658. Науково-дослідні установи і організації Криму у системі відносин: влада – економіка – довкілля (1861–1917 рр.) 217.5 KB
  Досвід європейських держав свідчить про виняткову роль наукового знання у досягненні економічного прогресу і процвітання. Соціально-економічні зміни активно впливали на розвиток прогресивних тенденцій у громадському житті і сприяли формуванню системи наукового дослідництва країни.
65659. Комплексна оцінка впливів і управління екологічною безпекою протяжних гідротехнічних споруд 1.21 MB
  В Україні в останні десятиріччя розробляється та здійснюється ряд проектів великих гідротехнічних споруд (ГТС). Створення ГТС спричиняє істотні впливи на навколишнє природне середовище (НПС), які полягають у техногенному забрудненні...
65660. Раціоналістичні тенденції в українській філософській думці ХІ – поч. ХVІІ століття 188 KB
  Актуальність дослідження раціоналістичних тенденцій в українській філософській думці зумовлена пожвавленим осмисленням ідентичності української філософії зміною парадигм раціональності. Таким чином здійснення історико-філософського дослідження зумовлене потребами...
65661. МЕТОДИ ОБҐРУНТУВАННЯ ТЕХНОЛОГІЙ ПАСАЖИРСЬКИХ ПЕРЕВЕЗЕНЬ В ІНТЕГРОВАНИХ ТРАНСПОРТНИХ СИСТЕМАХ 1.47 MB
  Досягнення цієї мети можливе через здійснення ефективної координації роботи різних видів транспорту загального користування а саме: авіаційного автомобільного водного та залізничного. Серед пріоритетів Транспортної стратегії щодо авіаційного транспорту є приведення його інфраструктури...