Получить квадратную матрицу по образцу - Pascal (80301)
Формулировка задачи:
где нужно исправить?
const n=6; var a:array[1..n,1..n] of real; i,j:byte; begin for i:=1 to n div 2+n mod 2 do for j:=1 to n do begin if (i<=j) or (i<= n-j+1) then a[i,j]:=1 else a[i,j]:=0; end; for i:=n div 2-n mod 2 to n do for j:=1 to n do begin if (i>=j) or (i<=n-j+1) then a[i,j]:=1 else a[i,j]:=0; end; for i:=1 to n do begin for j:=1 to n do write(a[i,j], ' '); writeln; end; end.
Решение задачи: «Получить квадратную матрицу по образцу»
textual
Листинг программы
const n=6; var a:array[1..n,1..n] of byte; i,j:byte; begin for i:=1 to n do begin for j:=1 to n do begin if ((i<=j)and(i<=n-j+1))or((i>=j)and(i>=n-j+1)) then a[i,j]:=1 else a[i,j]:=0; write(a[i,j]:2) end; writeln end end.
Объяснение кода листинга программы
- Объявляется и инициализируется константа
n
со значением 6. - Объявляется массив
a
размером 6x6, заполненный значениями типа byte. - Объявляются переменные
i
иj
типа byte. - Начинается цикл
for
для переменнойi
от 1 доn
. - Внутри цикла
for
начинается вложенный циклfor
для переменнойj
от 1 доn
. - Во вложенном цикле проверяется условие: если
i
меньше или равноj
Иi
меньше или равноn-j+1
, ИЛИi
больше или равноj
Иi
больше или равноn-j+1
, то значение в элементе массиваa
с координатами [i,j] устанавливается равным 1, иначе устанавливается равным 0. - Выводится значение элемента массива
a
с отступом в 2 символа. - Когда завершается вложенный цикл
for
для переменнойj
, выводится переход на новую строку. - Когда завершается внешний цикл
for
для переменнойi
, код завершается.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д