Определить, является ли матрица магическим квадратом
Категория: Delphi/Pascal
2011-12-20 21:13:06
Вводится с клавиатуры матрица 7x7.Надо определить,является ли матрица магическим квадратом(сумма строк и столбцов должны быть одинаковыми)
code: #pascal
const n=7; var x:array[1..n,1..n] of integer; i,j,s,snew:integer; bo:boolean; Begin randomize; {*************************************} for i:=1 to n do begin for j:=1 to n do begin x[i,j] := random(10); write(x[i,j]); write(' '); end; writeln; end; {**************************************} bo:=true; s:=0; j:=1; {**************************************} for i:=1 to n do s:=s+x[i,j]; writeln('s=',s); {**************************************} j:=1; while j<=n do begin snew:=0; for i:=1 to n do snew:=snew+x[i,j]; if snew<>s then bo:=false; if bo=false then break; inc(j); end; {***************************************} i:=1; while i<=n do begin snew:=0; for j:=1 to n do snew:=snew+x[i,j]; if snew<>s then bo:=false; if bo=false then break; inc(i); end; {***************************************} snew:=0; for i:=1 to n do snew:=snew+x[i,i]; if snew<>s then bo:=false; {***************************************} snew:=0; j:=1; for i:=n downto 1 do begin snew:=snew+x[i,j]; inc(j); end; if snew<>s then bo:=false; {***************************************} writeln(bo); if bo=true then writeln('Magichesky') else writeln('Ne mahichsky'); readln; end. end.
автор: kommunist
Поделиться: