Значения элементов двухмерного массива A[1..10,1..10] сначала равны 0. Затем выполняется следующий фрагмент программы:
| Бейсик | Python |
|---|---|
FOR i = 1 TO 4 FOR j = 2 TO 5 A(i,j) = A(i,j)+4 A(j,i) = A(j,i)+5 NEXT j NEXT i
| for i in range(1, 5): for j in range(2, 6): A[i][j] = A[i][j]+4 A[j][i] = A[j][i]+5
|
| Паскаль | Алгоритмический язык |
for i:=1 to 4 do for j:=2 to 5 do begin A[i,j] : = A[i,j]+4; A[j,i] : = A[j,i]+5; end;
| нц для i от 1 до 4 нц для j от 2 до 5 A[i,j] : = A[i,j]+4 A[j,i] : = A[j,i]+5 кц кц |
| Си++ | |
for (i = 1; i <= 4; i++) { for (j = 2; j <= 5; j++) { A[i][j] = A[i][j]+4; A[j][i] = A[j][i]+5; } } | |
Сколько элементов массива будут равны 9?
Мы имеем матрицу размером 10x10. Операция A[i,j] : = A[i,j]+4 при заданных i и j увеличивает на 4 элементы первых четырёх строк и столбцов со второго по пятый.
Операция A[j,i] : = A[j,i]+5 при заданных i и j увеличивает на 5 элементы строк со второй по пятую и первых четырёх столбцов.
Нарисуем изменяющийся фрагмент числовой таблицы:
| 4 | 4 | 4 | 4 | |
| 5 | 4+5 | 4+5 | 4+5 | 4 |
| 5 | 4+5 | 4+5 | 4+5 | 4 |
| 5 | 4+5 | 4+5 | 4+5 | 4 |
| 5 | 5 | 5 | 5 |
Видим, что операции пересеклись на 9-ти элементах, т. е. 9 элементов будут равны 9.

