Если задача заключается в том, что нужно поменять местами два столбца матрицы, то в приведенном фрагменте много лишних переменных.
Программа:
Program JHK;
const n=5;
var d:array[1..n,1..n]of real;
i,j:integer; a:real;
begin
writeln('Исходный массив:');
for i:=1 to n do
begin
for j:=1 to n do
begin
d[i,j]:=sin(i+j);
write(d[i,j]:6:2);
end;
writeln;
end;
for i:=1 to n do
begin a:=d[i,1]; d[i,1]:=d[i,n]; d[i,n]:=a; end;
writeln('Измененный массив:');
for i:=1 to n do
begin
for j:=1 to n do write(d[i,j]:6:2);
writeln;
end;
end.
Результат:
Исходный массив:
0.91 0.14 -0.76 -0.96 -0.28
0.14 -0.76 -0.96 -0.28 0.66
-0.76 -0.96 -0.28 0.66 0.99
-0.96 -0.28 0.66 0.99 0.41
-0.28 0.66 0.99 0.41 -0.54
Измененный массив:
-0.28 0.14 -0.76 -0.96 0.91
0.66 -0.76 -0.96 -0.28 0.14
0.99 -0.96 -0.28 0.66 -0.76
0.41 -0.28 0.66 0.99 -0.96
-0.54 0.66 0.99 0.41 -0.28