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

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


 

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

33991. Антикоагулянты. Применение 23 KB
  Антикоагулянтный эффект гепарина наступает сразу же после внутривенного и через 10 15 мин после внутримышечного введения и продолжается в течение 4 5 ч. Суточная доза гепарина составляет 30 000 50 000 ЕД. При передозировке гепарина может возникнуть геморрагический синдром который устраняют путем введения 1 раствора протамина сульфата 1 мг которого нейтрализует эффект 100 ЕД гепарина. При этом суточную дозу гепарина постепенно снижают в l' 2 2 раза за счет уменьшения его разовой дозы.
33992. Облитерирующий эндартериит 26.5 KB
  Облитерирующий эндартериит Облитерирующий эндартериит заболевание сосудов нейрогуморального генеза начинается с поражения переферического русла главным образом артерий и приводит к облитерации их просвета. Длительно существующий спазм артерий и сопровождающих их vs vsorum ведет к хронической ишемии сосудистой стенки вследствие чего наступают гиперплазия интимы фиброз адвентиции и дегенеративные изменения собственного нервного аппарата сосудистой стенки. На артериограмме окклюзия артерий голени. На артериограмме оклюзия 23...
33993. Атеросклероз артерий 24 KB
  Физикальное обследование Ослабление пульса на периферических артериях побледнение при поднимании пораженной конечности. Анамнез: внезапная боль или чувство онемения в конечности при отсутствии хромоты в прошлом. Физикальное обследование: отсутствие пульса бледность и снижение температуры конечности дистальнее места окклюзии. Лечение: содержать конечности в тепле внутрь блокаторы кальциевых каналов нифедипин 1040 мг внутрь 34 раза в день.
33994. Лапароскопическая хирургия 24.5 KB
  Следуя интересам пациентов сведение до минимума травматичности операции и под давлением различных социальноэкономических факторов необходимость уменьшать длительность пребывания пациентов в стационаре и быстрее возвращать их к нормальной жизни и работе достижения в современной хирургии и современных технологиях дали рождение новой эре в хирургии эре малоинвазивной хирургии. Противопоказания: Критерии отбора пациентов для лапароскопических операций изменились за последние 56 лет. Основой для безопасного отбора пациентов является...
33995. АБСЦЕСС АППЕНДИКУЛЯРНЫЙ 25 KB
  Частота 1419 случаев аппендикулярного инфильтрата. Этиология и патогенез Исход аппендикулярного инфильтрата при неблагоприятном течении Аппендикулярный инфильтрат ограничивается большим сальником и прилегающими петлями кишечника При благоприятном течении аппендикулярный инфильтрат рассасывается в сроки от 2 до 4 нед При неблагоприятном стечении обстоятельств позднее поступление в стационар устойчивость микрофлоры к антибиотикам и т. происходит абсцедирование инфильтрата. При наличии признаков острого аппендицита в течение 23...
33996. Этапы становления и характерные черты русской философии 29 KB
  формировалась под влиянием общемировой фил. Однако специф Р фил во многом складывалась под влиянием социально культурных процессов происходивших на Руси. фил мысли.
33997. Философский смысл проблемы бытия. Виды бытия 28 KB
  Бытие филос. 1Бытие вещей и процессов. В свою очередь также может быть представлено в двух формах: абытие вещей и состояний природы кот. Бытие второй природы цивилизации.
33998. ИДЕАЛИЗМ 26.5 KB
  Марксизмленинизм все разновидности идеализма подразделяет на две группы: объективный идеализм принимающий за основу действительности личностный или безличный всеобщий дух некое сверхиндивидуальное сознание и субъективный идеализм сводящий знания о мире к содержанию индивидуального сознания. Однако различие между субъективным и объективным идеализмом не абсолютно Многие объективноидеалистические системы содержат элементы субъективного идеализма; с другой стороны субъективные идеалисты пытаясь уйти от солипсизма нередко переходят...
33999. Понятие движения. Свойства движения. Движение и развитие, их соотношение 23 KB
  Описание механизма саморазвития: качество количество скачок мера. Качество выражается в свойствах. Качество такие свойства предмета которые выражают его специфику и неповторимость в отличии от других предметов. Количество характеризует качество с точки зрения интенсивности выражается числом.