Сформировать квадратную матрицу порядка n по заданному образцу - Pascal (80760)
Формулировка задачи:
Сформировать квадратную матрицу порядка n по заданному образцу:
1 2 3..... n
n n-1 n-2...... 1
1 2 3...... n
n n-1 n-2...... 1
.........
n n-1 n-2......1
c++
Решение задачи: «Сформировать квадратную матрицу порядка n по заданному образцу»
textual
Листинг программы
Var A:array[1..20,1..20] of byte;
i,j,n:byte;
Begin
write('Введите n: ');readln(n);
For i:=1 to n do
Begin
if i mod 2 = 0 then
For j:=n downto 1 do
A[i,j]:=n-j+1
else
For j:=1 to n do
A[i,j]:=j;
For j:=1 to n do
write(A[i,j]:4);
writeln;
End;
readln;
End.
Объяснение кода листинга программы
- Создается переменная
A- двумерный массив размером 20x20, содержащий значения типаbyte, который будет использоваться для хранения значений матрицы. - Создаются переменные
i,jиnтипаbyte, для использования в циклах и ввода пользователя. - Выводится приглашение
Введите n:, после чего пользователь может ввести значение дляn, которое будет считываться в переменнуюn. - Запускается цикл
For i:=1 to n do, который перебирает значения от 1 доn. - Во внутреннем блоке цикла проверяется условие
if i mod 2 = 0 then, которое проверяет, является лиiчетным числом. В зависимости от этого условия выполняется один из двух блоков. - Если
iчетное, то запускается внутренний циклFor j:=n downto 1 do, который перебирает значения отnдо 1. В этом цикле значения массиваAзаполняются значениями отn-j+1. Это создает паттерн, где в четных строках значения убывают отnдо 1. - В ином случае (если
i- нечетное), запускается внутренний циклFor j:=1 to n do, который перебирает значения от 1 доn. В этом цикле значения массиваAзаполняются значениями от 1 доn. Это создает паттерн, где в нечетных строках значения возрастают от 1 доn. - После заполнения строки значениями, они выводятся в одну строку с помощью цикла
For j:=1 to n do write(A[i,j]:4), где:4отвечает за форматированный вывод значений. - После этого переходим на новую строку с помощью
writeln, чтобы начать процесс заново для следующей строки. - Программа ждет ввода пользователя, после чего завершается.