Хотелось бы поточнее разобраться в алгоритме зеркального переворота матриц относительно побочной диагонали и вертикальной оси симметрии.
Если уже разбиралось, ткните носом, плиз...
const
n = 4;
type
TMx = array [1..n,1..n] of integer;
// ...
procedure Mirror(var mx : TMx);
var
i,j : byte;
T : integer;
begin
for i := 2 to n do
for j := 1 to i - 1 do begin
T := mx[i,j];
mx[i,j] := mx[j,i];
mx[j,i] := T;
end;
end;
If (N mod 2)=0 then
R:=(j div 2)
else
R:=((j div 2)+1);
If (N mod 2)=0 then R:=(j div 2)
else R:=((j div 2)+1);
for i := 1 to n do begin { по строкам }
for j := 1 to n div 2 do begin { по столбцам }
T := arr[i, j];
arr[i, j] := arr[i, n - j + 1];
arr[i, n - j + 1] := T;
end;
end;