1 1 1 1 1
1 2 2 2 1
1 2 3 2 1
1 2 2 2 1
1 1 1 1 1
uses crt;
var a:array[1..20,1..20] of integer;
n,i,j,k,l,m:integer;
begin
clrscr;
write('n=');readln(n);
if odd(n) then k:= n div 2+1{определяем середину для нечетных}
else k:=n div 2;{для четных}
for i:=1 to k do{повторяем для например 5 или 6 - 3 раза}
begin
m:=i;{число для ячейки}
for j:=i to n-i+1 do{каздый раз заужаем матрицу к центру}
for l:=i to n-i+1 do
a[j,l]:=m;{заполняем ячейки}
end;
for i:=1 to n do
begin
for j:=1 to n do
write(a[i,j]:3);
writeln;
end;
readln
end.