Ввод исходной матрицы и вывод результата также оформить в виду процедур.
program PascalGuru;
var
A: array [1 .. 50, 1 .. 50] of integer;
n: integer;
procedure vvod;
var
i, j: integer;
begin
write('Vvedite razmer matricy A: ');
readln(n);
for i := 1 to n do
for j := 1 to n do
A[i, j] := (-3) + random(9);
{ begin
write ('A[',i,',',j,']='); readln (A[i,j]); end; }
end;
{ -------------------------------------------- }
procedure vyvod;
var
i, j: integer;
begin
for i := 1 to n do
begin
writeln;
for j := 1 to n do
write(A[i, j]:8);
end;
end;
{ -------------------------------------------- }
procedure preobrazovanie;
var
i, j, summa: integer;
begin
{ for i:=1 to n do
for j:=1 to n do B[i,j]:=A[i,j]; }
for j := 1 to n do
begin
summa := 0;
for i := 1 to n do
summa := summa + A[i, j];
for i := 1 to n do
A[i, j] := summa - A[i, j];
end;
end;
{ -------------------------------------------- }
begin
vvod; { запрос матрицы с клавы }
writeln;
writeln('Ishodnaya:');
vyvod; { вывод матрицы на экран }
preobrazovanie; { преобразование матрицы по условию }
writeln;
writeln;
writeln('Prebrazovannaya:');
vyvod; { вывод матрицы на экран }
readln;
end.