Вот эта гадость
Код
const m = 5;
var a: array[1..m, 1..m] of integer;
i, j, di, dj, n : integer;
min_i, min_j, max_i, max_j : integer;
begin
i:=1; j:=m; dj:=-1; di:=0;
A[i,j]:=1;
min_i:=2; min_j:=1;
max_i:=m; max_j:=m;
for n:=2 to m*m do
begin
{1}
if (dj<>0) and (j+dj < min_j) then
begin
dj:=0; di:=1; inc(min_j)
end else
{2}
if (di<>0) and (i+di > max_i) then
begin
di:=0; dj:=1; dec(max_i)
end else
{3}
if (dj<>0) and (j+dj > max_j) then
begin
dj:=0; di:=-1; dec(max_j)
end else
{4}
if (di<>0) and (i+di < min_i) then
begin
di:=0; dj:=-1; inc(min_i)
end;
inc(i, di); inc(j, dj);
A[i,j]:=n
end;
end.
ужас... да чтобы я еще раз за ЭТО сел