program mtx; const n=6; type TMatrix=array [1..n, 1..n] of integer; procedure Create(var mx: TMatrix); var i,j: integer; begin randomize; for i:=1 to n do for j:=1 to n do mx[i,j]:=random(10); end; procedure Print(const mx: TMatrix); var i,j:integer; begin for i:=1 to n do begin writeln; for j:=1 to n do write(mx[i,j]:2); end; writeln;writeln; end; function SquareSum(const mx:TMatrix; const deep: Integer): Integer; var s,i: Integer; begin s:=0; for i:=deep to n - deep + 1 do s:=s+mx[deep,i]+mx[n - deep + 1,i]; for i:=deep+1 to n-deep do s:=s+mx[i,deep]+mx[i,n - deep + 1]; SquareSum:=s; end; var mx:TMatrix; i:Integer; begin Create(mx); Print(mx); for i:=1 to n div 2 do writeln('deep=',i,'square_sum=',SquareSum(mx,i)); readln; end.