const n=4; //((1,14,15,4),(12,7,6,9),(8,11,10,5),(13,2,3,16)); var a:array [1..n,1..n] of integer; var i,j,s,sum,k:integer; begin for i:=1 to n do for j:=1 to n do begin write('a[',i,',',j,']='); readln(a[i,j]); end; for i:=1 to n do begin for j:=1 to n do write(a[i,j]:4); writeln; end; k:=1; sum:=0; for i:=1 to n do sum:=sum+a[i,i]; s:=0; for i:=1 to n do s:=s+a[i,n-i+1]; if s=sum then inc(k); for i:=1 to n do begin s:=0; for j:=1 to n do s:=s+a[i,j]; if s=sum then inc(k); end; for j:=1 to n do begin s:=0; for i:=1 to n do s:=s+a[i,j]; if s=sum then inc(k); end; writeln(k); if k=2*n+2 then writeln('Матрица является магическим квадратом') else writeln('Матрица не является магическим квадратом'); end.