Вы уж извините, но я как-то по-своему:
Код:
VAR
A:ARRAY[1..10,1..10] of BYTE;
i,j:INTEGER;
BEGIN
FOR j:=1 TO 5 DO
begin
A[j,j]:=j;
A[j,11-j]:=11-j;
A[j+1,j]:=j+10;
A[j+1,11-j]:=21-j;
end;
FOR i:=1 TO 10 DO
begin
FOR j:=1 TO 10 DO
begin
if ((j<6) and (i=j))
or ((j>5) and (i=11-j))
or ((j<6) and (i=j+1))
or ((j>5) and (i=12-j))
then Write(A[i,j]:5) else
Write(' ');
end;
WriteLn;
end;
ReadLn;
END.