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

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


 

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

7997. Методы воспитания школьников 29 KB
  Методы воспитания школьников Метод - способ достижения какой-либо цели. Методы воспитания - конкретные пути влияния на сознания, чувства, поведение для решения педагогически задач в совместной деятельности с воспитателями и педагогами. При...
7998. Нравственное воспитание школьников 43.5 KB
  Нравственное воспитание школьников Нравственность - личностная характеристика, объединяющая такие свойства и качества, как доброта, порядочность, честность, правдивость, справедливость, трудолюбие, дисциплинированность, коллективизм, регулирующ...
7999. Трудовое воспитание школьников 31.5 KB
  Трудовое воспитание школьников Трудовое воспитание - есть процесс организации и стимулирования разнообразной трудовой деятельности учащихся и формирования у них добросовестного отношения к выполняемой работе, проявление инициативы, творчества, ...
8000. Физическое воспитание в школе 26.5 KB
  Физическое воспитание в школе Физическое воспитание - многогранный процесс организации активной физкультурно-оздоровительной деятельности учащихся, направленный на развитие: Потребности в занятиях физической культурой и спортом Физ...
8001. Экологическое воспитание в школе 27.5 KB
  Экологическое воспитание в школе Экологическое воспитание - это формирование у детей экологического сознания как совокупности знаний, мышления, чувств, воли и готовности к активной природоохранительной деятельности, помогающего понимать...
8002. Эстетическое воспитание в школе 25 KB
  Эстетическое воспитание в школе Формирование эстетической культуры - процесс целенаправленного развития способностей личности к полноценному восприятию и правильному пониманию прекрасного в искусстве и действительности. Задачи: Выработка...
8003. Нестандартні уроки 14.38 KB
  Нестандартні уроки На небезпечну тенденцію зниження інтересу учнів до занять, яка появилась у нашій школі ще в середині 70-х років, масова практика відреагувала нестандартними уроками, головною метою яких є пробудження й утримання інтересу школярів...
8004. Урок - основна форма організації навчання 21.6 KB
  Урок - основна форма організації навчання У сучасній школі класно-урочна форма є головною (основною), її ключовим компонентом є урок. Урок - це відрізок навчального процесу, який є викінченим у смисловому, часовому й організаційному відношенні. Не...
8005. Типи і структура уроків 24.1 KB
  Урок є складним відрізком навчального процесу. Як усі складні обєкти, уроки можуть бути поділені на типи за різними ознаками. За якими ж ознаками групуються уроки? Проблема ця дуже складна і не вирішена остаточно ні у світовій, ні у вітчизняній дидактиці Кількість класифікацій сьогодні вираховується десятками...