Получить матрицу по правилу - Turbo Pascal (29512)
Формулировка задачи:
Получить матрицу:
1 0 ... 0 1
0 1 ... 1 0
.............
0 1 ... 1 0
1 0 ... 0 1
Решение задачи: «Получить матрицу по правилу»
textual
Листинг программы
const n=20;
var
a:array[1..n,1..n] of byte;
i,j,k:integer;
begin
repeat
write('n=');readln(k);
until k in [1..n];
for j:=1 to k do begin
a[j,j]:=1;
a[k-j+1,j]:=1;
end;
for i:=1 to k do begin
for j:=1 to k do
write(a[i,j]:2);
writeln;
end;
end.
Объяснение кода листинга программы
- Переменная
nинициализируется значением 20. - Создается массив
aтипаarray[1..n,1..n] of byte. - Определяются три переменные
i,jиkтипаinteger. - Запускается цикл
repeat, который продолжается до тех пор, пока значение переменнойkне станет равным 1 или больше значения переменнойn. - Внутри цикла
repeatзапрашивается у пользователя значение переменнойk. - В цикле
forпеременнойjот 1 доkприсваивается значение 1, а переменнойa[j,j]присваивается значение 1. - Затем, в цикле
forпеременнойiот 1 доkвыполняется следующий блок кода:- Для каждой переменной
jот 1 доkвыводится значениеa[i,j]в формате2. - После этого выводится символ новой строки
writeln.
- Для каждой переменной
- Конец блока кода внутреннего цикла
forпеременнойi. - Конец внешнего цикла
repeat. - Конец программы.