uses crt;
const
n = 6;
var
a: array [1 .. n, 1 .. n] of integer;
i, j, p, x: integer;
begin
clrscr;
writeln('Исходная матрица:');
for i := 1 to n do
begin
for j := 1 to n do
begin
a[i, j] := 10 * i + j;
write(a[i, j]:4);
end;
writeln;
end;
p := n div 2;
{ поворот по часовой стрелке }
for i := 1 to p do
for j := i to n - i do
begin
x := a[i, j];
a[i, j] := a[n - j + 1, i];
a[n - j + 1, i] := a[n - i + 1, n - j + 1];
a[n - i + 1, n - j + 1] := a[j, n - i + 1];
a[j, n - i + 1] := x;
end;
writeln('Поворот на 90 градусов по часовой стрелке:');
for i := 1 to n do
begin
for j := 1 to n do
write(a[i, j]:4);
writeln;
end;
{ поворот против часовой стрелки }
for i := 1 to p do
for j := i to n - i do
begin
x := a[i, j];
a[i, j] := a[j, n - i + 1];
a[j, n - i + 1] := a[n - i + 1, n - j + 1];
a[n - i + 1, n - j + 1] := a[n - j + 1, i];
a[n - j + 1, i] := x;
end;
writeln('Поворот на 90 градусов против часовой стрелки:');
for i := 1 to n do
begin
for j := 1 to n do
write(a[i, j]:4);
writeln;
end;
readln
end.