Алгоритм содержит ошибку: необъявленную переменную d. Фактически она вообще не нужна, потому что d=x и не меняется. Выводится значение l, которое вычисляется по формуле l=30+kx, где k - количество выполнений тела цикла while. Получаем уравнение 30 + k·x = 102 → k·x = 72. Но 72 = 2 × 2 × 2 × 3 × 3 если значение х нечетное, то оно может быть или 3, или 3 × 3 = 9. В вопросе спрашивается о максимальном х, поэтому проверим, подходит ли х=9. В этом случае k = 72 / 9 = 8 Значение k определяется условием выполнения цикла l ≤ m, где m = 456 - 5·x·k. При k= 8 получаем 102 ≤ 456 - 5×8×9; 102 ≤ 96 - ложно, но еще при k=7 получаем 30+7×9 ≤ 456-5×7×9; 93 ≤ 141 истинно.
#include <cstdlib>
#include <iomanip>
using namespace std;
int const n=6;
int const m=6;
int main() {
int a[n][m];
int sm;
// установка генератора случайных чисел
srand(time(NULL));
// генерация массива и вывод на экран
for (int i=0; i<n; i++) {
for (int j=0; j<m; j++) {
a[i][j]=rand()%50-20;
cout<<setw(7)<<a[i][j];
}
cout<<endl;
}
// обработка массива
for (int i=0; i<m; i++) {
sm=0;
for (int j=0; j<n; j++) sm+=a[j][i];
for (int j=0; j<n; j++)
if (2*a[j][i]>sm) cout<<j+1<<" "<<i+1<<endl;
}
system("pause");
return 0;
}
-16 -2 15 4 7 3
-13 16 3 16 -13 3
0 19 20 6 20 -18
-19 7 1 10 -11 25
5 4 3 21 28 -13
26 -19 -7 12 -20 11
1 1
2 1
3 1
5 1
6 1
3 5
5 5
4 6
Выводится значение l, которое вычисляется по формуле l=30+kx, где k - количество выполнений тела цикла while.
Получаем уравнение 30 + k·x = 102 → k·x = 72.
Но 72 = 2 × 2 × 2 × 3 × 3 если значение х нечетное, то оно может быть или 3, или 3 × 3 = 9.
В вопросе спрашивается о максимальном х, поэтому проверим, подходит ли х=9.
В этом случае k = 72 / 9 = 8
Значение k определяется условием выполнения цикла l ≤ m,
где m = 456 - 5·x·k.
При k= 8 получаем 102 ≤ 456 - 5×8×9; 102 ≤ 96 - ложно,
но еще при k=7 получаем 30+7×9 ≤ 456-5×7×9; 93 ≤ 141 истинно.
Следовательно, x=9 подходит.
ответ: 9