Получить квадратную матрицу по образцу - 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.

Объяснение кода листинга программы

  1. Объявляется и инициализируется константа n со значением 6.
  2. Объявляется массив a размером 6x6, заполненный значениями типа byte.
  3. Объявляются переменные i и j типа byte.
  4. Начинается цикл for для переменной i от 1 до n.
  5. Внутри цикла for начинается вложенный цикл for для переменной j от 1 до n.
  6. Во вложенном цикле проверяется условие: если i меньше или равно j И i меньше или равно n-j+1, ИЛИ i больше или равно j И i больше или равно n-j+1, то значение в элементе массива a с координатами [i,j] устанавливается равным 1, иначе устанавливается равным 0.
  7. Выводится значение элемента массива a с отступом в 2 символа.
  8. Когда завершается вложенный цикл for для переменной j, выводится переход на новую строку.
  9. Когда завершается внешний цикл for для переменной i, код завершается.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

8   голосов , оценка 3.75 из 5
Похожие ответы