Дана квадратная матрица а порядка n, состоящая из натуральных чисел. если сумма индексов каких-либо двух элементов матрицы, расположенных ниже главной диагонали, равна минимальному элементу для всей матрицы, то вывести на экран сообщение "да", иначе - сообщение "нет" (( язык с++
#include <iostream>
#include <iomanip>
using namespace std;
int main() {
const int n = 5;
int a[n][n];
int min;
int i1;
int j1;
int i2;
int j2;
srand(time(0));
for (int i = 0; i < n; i++){
for (int j = 0; j < n; j++){
a[i][j]=10+(51.0 / RAND_MAX) * rand();
cout << fixed << setw (7) << a[i][j];
}
cout <<endl;
}
min=a[0][0];
for (int i = 0; i < n; i++)
for (int j = 0; j < n; j++){
if (a[i][j]<min) min=a[i][j];
}
cout << "min=" << min << endl;
if ((min>=2)&&(min<=2*(n-1)*(n-2))) {
i1 = min / 2 / 2 + 1;
j1 = min / 2 - i1;
i2 = (min-i1-j1) / 2 + 1;
j2 = (min-i1-j1) - i2;
cout << "Yes, ex: " << "i1=" << i1 << " j1=" << j1 << " i2=" << i2 << " j2=" << j2 << endl;}
else cout << "No" << endl;
}
Пример:
45 53 36 32 11
18 53 12 58 20
20 28 57 26 24
14 19 33 54 27
43 38 41 23 22
min=11
Yes, ex: i1=3 j1=2 i2=4 j2=2