6 отчёт Глушенков М.В
.docxПоволжский Государственный Университет Телекоммуникаций и Информатики
Кафедра ПОУТС
Лабораторная работа №6
Двумерные массивы
Выполнила :
Студента гр. ИСТ 74У
Глушенкова М.В.
Проверили:
Д.т.н., проф. Лиманова Н.И.
Асс. Горелов Г.А.
Самара 2017
Задание: Научиться работать с массивами, производить над ними разные действия.
Вариант 4
Дана целочисленная квадратная матрица. Определить:
— произведение элементов в тех строках, которые не содержат отрицательных элементов;
— максимум среди сумм элементов диагоналей, параллельных главной диагонали матрицы.
Листинг программы
#include <iostream>
#include <ctime>
using namespace std;
int main()
{
int array[4][4]; //размер матрицы 4 на 4
int positive = 1;
bool notnegative = false; //булевая переменная notnegative, которая равна 0
int sum = 0;
int tmp = 0;
int begin,end;
for(begin=0;begin < 4;begin++) //Создаем массив с нашей матрицей, элементы которого будут состоять из рандомных чисел
{ for(end=0;end < 4;end++)
{
array[begin][end] = rand()%50-10; // диапазон равер от -10 до 50 включительно
cout << "\t" << array[begin][end] << " "; //вывод на экран рандомного числа, \t -горизонтальная табуляция
}
cout << "\n";
}
cout << "1) The mulply elements, which strings haven't negative numbers \n"; //1)произведение элементов в тех строках, которые не содержат отрицательных элементов;
for(begin=0;begin < 4;begin++)
{
for(end=0;end < 4;end++)
{
if(array[begin][end] > 0)
{
notnegative = true;
}
if(array[begin][end] < 0)
{
notnegative = false;
end = 4-1;
}
}
if(notnegative == false)
{
cout << "\t" << begin << " string have negative numbers\n";
notnegative = false;
}
if(notnegative == true)
{
cout << "\t" << begin << " string haven't negative numbers : ";
for(end=0;end < 4;end++)
positive = positive * array[begin][end];
cout << positive << "\n";
positive = 1;
notnegative = false;
}
}
cout << "2) Max sum of parall diagonalies: \n"; //2)максимум среди сумм элементов диагоналей, параллельных главной диагонали матрицы.
for(begin=0;begin < 4;begin++)
{
for(end=1;end < 4;end++)
{
sum = sum + array[begin][end];
begin++;
}
}
for(begin=1;begin < 4;begin++)
{
for(end=0;end < 4-1;end++)
{
tmp = tmp + array[begin][end];
begin++;
}
}
if(sum > tmp)
cout << "\tMax sum of parall diagonales : " << sum << "\n";
else
cout << "\tMax sum of parall diagonales : " << tmp << "\n";
system("PAUSE");
return 0;
}
Пример выполнения программы