Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

лр6-2

.docx
Скачиваний:
0
Добавлен:
26.03.2021
Размер:
93.28 Кб
Скачать

Лабораторна робота №6

Тема. Алгоритмізація задач обробки двовимірних масивів.

Мета. Набути навичок складання алгоритмів обробки двовимірних масивів

Завдання. 1 Обчислити різницю між найбільшим значенням першого рядка і найменшим значенням останнього рядка.

Лістинг

#include <iostream>

#include <algorithm>

using namespace std;

int main()

{

setlocale(LC_ALL, "RUS");

const int n=2,m=6;

int a[n][m];

cout <<"\tЗаданный массив\n\n";

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

{

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

{

a[i][j] = rand() % 12;

cout.width(3);

cout << a[i][j] << " ";

}

cout << endl;

}

int max_n,min_n;

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

{

max_n= max(max_n, a[0][i]);

}

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

{

min_n = min(min_n, a[1][i]);

}

cout<<"\nМаксимальный элемент первого массива: "<<max_n<<endl;

cout<<"\nМинимальный элемент второго массива: "<<min_n<<endl;

cout<<"\nРазность элементов: "<<max_n-min_n<<endl;

}

Рисунок 1 – Результат виконання програми

Завдання. 2 Сформувати масив з добутків додатних елементів кожного стовпчика. У одновимірному масиві знайти мінімальний елемент та його індекс.

Лістинг

#include <iostream>

using namespace std;

int main()

{

setlocale(LC_ALL, "RUS");

const int n=5,m=6;

int a[n][m];

int b[n];

cout <<"\tЗаданный массив\n\n";

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

{

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

{

a[i][j] = rand() % 11-2;

cout.width(3);

cout << a[i][j] << " ";

}

cout << endl;

}

cout << endl<<"Массив произведений: ";

for (int sum,i=0; i<m; i++)

{

sum=1;

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

if (a[j][i]>0)

sum*=a[j][i];

b[i]=sum;

cout<<b[i]<<" ";

}

int min=b[0];

int ind1;

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

{

if(b[i]<min)

{

min=b[i];

ind1=i+1;

}

}

cout <<endl<<"Наименьшее число " <<min<<" c индексом " << ind1<<endl;

}

Рисунок 2 – Результат виконання програми

Завдання. 2 В рядках з від'ємним елементом на головній діагоналі знайти суму всіх елементів та найбільший з усіх елементів.

#include <iostream>

using namespace std;

const int n = 5;

int main()

{

setlocale(LC_ALL, "RUS");

const int n = 6;

int a[n][n], max_n[n], sum[n];;

int cnt = 0;

cout <<"\tЗаданный массив\n\n";

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

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

{

a[i][j] = rand() % 12 -5;

cout.width(3);

cout << a[i][j] << " ";

}

cout << endl;

}

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

{

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

{

sum[cnt] = 0;

max_n[cnt] = a[i][i];

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

{

sum[cnt] += a[i][j];

if (a[i][j] > max_n[cnt])

{

max_n[cnt] = a[i][j];

}

}

cnt++;

}

}

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

{

cout << "\nСумма " << i+1 << " строки: " << sum[i] << endl;

cout<<"Максимальный элемент "<< i+1 << " строки: "<<max_n[i]<<endl;

}

return 0;

}

Рисунок 3 – Результат виконання програми

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]