Заполнить двумерный массив 5x7 по заданному правилу - Pascal ABC
Формулировка задачи:
1 0 2 0 3 0 4 |
0 5 0 6 0 7 0 |
8 0 9 0 10 0 11 |
0 12 0 13 0 14 0 |
Решение задачи: «Заполнить двумерный массив 5x7 по заданному правилу»
var a:array[1..m,1..n] of integer; i,j,k:integer; begin k:=0; for i:=1 to m do begin for j:=1 to n do begin if odd(i+j) then a[i,j]:=0 else begin inc(k); a[i,j]:=k; end; write(a[i,j]:3); end; writeln; end; end.
Объяснение кода листинга программы
В данном коде объявлен двумерный массив a
размером 5x7. Переменные i
, j
и k
используются для итерации по элементам массива.
В цикле for i:=1 to m do (где m - это некоторое число, которое не указано в задании) происходит итерация по строкам массива. Внутри этого цикла запускается вложенный цикл for j:=1 to n do (где n - это другое число, также не указанное в задании), который идет по столбцам массива.
Внутри вложенного цикла проверяется условие odd(i+j) - это функция, которая возвращает true, если число i+j нечетное, и false в противном случае. Если условие истинно, то в соответствующий элемент массива a[i,j]
присваивается значение 0. Если условие ложно, то увеличивается значение переменной k
на единицу, и в соответствующий элемент массива a[i,j]
присваивается значение k
.
После завершения вложенного цикла выводится значение каждого элемента массива a[i,j]
с помощью функции write(a[i,j]:3)
, где :3
означает, что число будет выведено в формате с тремя знаками после запятой.
После завершения внешнего цикла выводится символ новой строки writeln
, чтобы перейти на следующую строку массива.
Таким образом, данный код заполняет двумерный массив a
по заданному правилу: если сумма индексов i и j нечетная, то в соответствующий элемент массива присваивается значение 0, в противном случае - значение k
, увеличенное на единицу.