Рассмотрим следующий фрагмент программы.
for i:=1 to n1 do
for j:=1 to m1 do
write(a[i,j]:2,' ');
Данный пример иллюстрирует вывод двумерного массива в строку через пробел. Такой вариант вывода нарушает структуру таблицы. Поэтому обычно используют способ, когда после вывода полной строки таблицы на экран осуществляется перевод на следующую строку, с использованием процедуры writeln без параметров.
for i:=1 to n1 do
begin
for j:=1 to m1 do
write(a[i,j]:3);
writeln
end;
Пример.
program Vvod_matr2;
const n=9; m=11;
var A:array [1..n,1..m] of byte;
i,j:byte;
n1,m1:byte;
begin
writeln('Enter number of rows <=',n);
readln(n1);
writeln('Enter number of columns <=',m);
readln(m1);
for i:=1 to n1 do
for j:=1 to m1 do
a[i,j]:=sqr(i+j);
writeln;
writeln('Output matrix a(',n1,'*',m1,')');
for i:=1 to n1 do
begin
for j:=1 to m1 do
write(a[i,j]:3);
writeln
end;
readln;readln
end.
Решим задачу, когда матрицу необходимо получить за заданным алгоритмом.
Дано натуральное число n. Создать целочисленную матрицу А порядка m, которая на главной диагонали имеет 1, под ней – 5, над ней – 4.