Untitled
unknown
c_cpp
3 years ago
2.2 kB
18
Indexable
#include <iostream>
#include <windows.h>
using namespace std;
/* Розробити програму для знаходження суми максимального і мінімального з чисел,
що стоять нижче побічної діагоналі. Якщо ця сума кратна 3, обнулити головну діагональ. */
int main() {
SetConsoleOutputCP(CP_UTF8);
//create
int size = 0, max = 0, min = 0, sum = 0;
cout << "Введіть розмір квадратичної матриці: " << endl;
cin >> size;
int **matrix = new int* [size];
srand(time(NULL));
for (int n = 0; n < size; n++)
{
matrix[n] = new int [size];
}
//заполнение какими-то данными
for (int n = 0; n < size; n++)
{
for (int m = 0; m < size; m++)
{
matrix[n][m] = rand() % 40-20;
}
}
//вывод
cout << "Сгенерована матриця:" << endl;
for (int n = 0; n < size; n++)
{
for (int m = 0; m < size; m++)
{
cout << matrix[n][m] << "\t";
}
cout << endl;
}
max = matrix[0][size-1];
min = matrix[0][size-1];
for(int n = 0; n < size; n++)
{
for(int m = 0; m < size; m ++)
{
if(n + m == size - 1)
{
if(matrix[n][m] > max)
max = matrix[n][m];
if(matrix[n][m] < min)
min = matrix[n][m];
}
}
}
for (int n = 0; n < size; n++)
{
for (int m = size - m; m < size; m++)
{
if (n + m + 1 > size) { //проверка на то что эл лежит ниже побочной диагонали
sum += matrix[n][m];
}
}
}
cout << "Сума максимального і мінімального з чисел, що стоять нижче побічної діагоналі: " << sum << endl;
//delete
for (int n = 0; n < size; n++)
{
delete [] matrix [n];
}
delete [] matrix;
}Editor is loading...