Объяснение:
Для этого нужно использовать динамические массивы.
var m: array of array of integer; означает массив массивов integer.
SetLength(m, n, n); инициализирует двумерный массив m размерностью n•n.
Но при использовании динамических массивов изменяется принцип обращения к элементам: если ранее (в статических массивах) нумерация шла с 1, то сейчас с 0. Также изменилось условие окончания цикла (ранее было до n, сейчас до n - 1)
Полный код:
var
n, i, j: integer;
m: array of array of integer;
begin
writeln('Введите размерность матрицы');
read(n);
SetLength(m, n, n);
for i:=0 to n-1 do
begin
for j:=0 to n-1 do
read(m[i,j]);
end;
for i:=0 to n-1 do
begin
for j:=0 to n-1 do
write(m[i,j]:5);
writeln();
end;
end.
Поделитесь своими знаниями, ответьте на вопрос:
Найти разность между трехзначным числом и числом, составленным из тех же цифр, но взятых в обратном порядке. решить в общем виде. паскаль)
var x : word;
begin
write('введите натуральное число (до 65 535) : '); readln(x);
writeln(x, ' - ', inverse(x), ' = ', x-inverse(x));
end.
… где функция inverse — пара строчек, но «интеллектуальная собственность» , а значит не бесплатно ; -)
также можно еще один вариант решения: uses crt;
var x, y, first, second, third, raz: integer;
begin
clrscr;
writeln('введите трехзначное число');
readln(x);
first: =x div 100;
second: =(x div 10 mod 10)*10;
third: =(x mod 10)*100;
y: =third+second+first;
raz: =abs(x-y);
writeln('разность чисел ',x,' и ',y,' равна ',raz);
readln();
end.