program ep4_9;
var
r,c,n,t,tryr,tryc:integer;
a:array[1..19,1..19] of integer;
begin
readln(n);
for r:=1 to n do
for c:=1 to n do
a[r,c]:=0;
t:=1;
r:=1;
c:=(n+1) div 2;
a[r,c]:=t;
t:=2;
while t<=n*n do begin;
tryr:=r-1;
tryc:=c+1;
if (tryr<1)and(tryc>n) then begin
r:=tryr+2;
c:=tryc-1;
end
else if tryr<1 then begin
r:=n;
c:=tryc;
end
else if tryc>n then begin
c:=1;
r:=tryr;
end
else if a[tryr,tryc]<>0 then begin
r:=tryr+2;
c:=tryc-1;
end
else begin
r:=tryr;
c:=tryc;
end;
a[r,c]:=t;
t:=t+1;
end;
for r:=1 to n do begin
for c:=1 to n do
write(a[r,c]:3);
writeln
end;
readln
end.
|
|
|
|