Заполнить массив змейкой - Pascal (80792)
Формулировка задачи:
Заполнить массив MxN "змейкой" по столбцам.
Пример:
1 10 11 20 21
2 9 12 19 22
3 8 13 18 23
4 7 14 17 24
5 6 15 16 25
Решение задачи: «Заполнить массив змейкой»
textual
Листинг программы
const m = 5; n = 6; var i, j: integer; a: array [1..m, 1..n] of integer; begin for i := 1 to m do begin for j := 1 to n do begin if odd(j) then a[i, j] := (j - 1) * m + i else a[i, j] := (j - 1) * m + n - i; write(a[i, j]:4) end; writeln end; readln end.
Объяснение кода листинга программы
- Объявляется константа
mсо значением5, которая представляет количество строк массива. - Объявляется константа
nсо значением6, которая представляет количество столбцов массива. - Объявляются переменные
iиjтипа integer для использования в циклах. - Создается двумерный массив
аразмерности m x n для хранения целых чисел. - Начинается основная часть программы.
- Внешний цикл выполняется для значений от 1 до m, представляя каждую строку массива.
- Для каждой строки запускается внутренний цикл от 1 до n, представляющий каждый столбец массива.
- Внутри внутреннего цикла происходит проверка на нечетность значения
j. - Если
jнечетное, то в элемент массива a[i, j] помещается выражение (j - 1) * m + i. - В противном случае, если
jчетное, в элемент массива a[i, j] помещается выражение (j - 1) * m + n - i. - Выводится значение a[i, j] с отступом в 4 символа.
- После завершения внутреннего цикла происходит переход на новую строку.
- Последняя строка содержит команду ожидания ввода.
- Завершается основной блок программы.