Задача. Магический/Не магический квадрат - Pascal ABC

Формулировка задачи:

Проверить, является ли заданная целочисленная матрица A(N, N) "магическим квадратом" (это значит, что суммы чисел во всех её строках, всех столбцах и двух диагоналях одинаковы). Решить без процедур и функций.


textual

Код к задаче: «Задача. Магический/Не магический квадрат - Pascal ABC»

s:=0;
for i:=1 to n do
s:=s+a[i,i];//сумма главной диагонали
s1:=0;
for i:=1 to n do
s:=s+a[i,n-i+1];//сумма побочной диагонали
if s1<>s then
 begin
  write('Это не магический квадрат');
  exit
 end;
m:=0;
i:=1;
while(i<=n)and(m=0) do//проверяем строки
 begin
  s1:=0;
  for j:=1 to n do
  s1:=s1+a[i,j];
  if s1<>s then m:=1
  else i:=i+1;
 end;
if m=1 then
 begin
  write('Это не магический квадрат');
  exit
 end;
j:=1;
while(j<=n)and(m=0) do//проверяем столбцы
 begin
  s1:=0;
  for i:=1 to n do
  s1:=s1+a[i,j];
  if s1<>s then m:=1
  else j:=j+1;
 end;
if m=1 then  write('Это не магический квадрат')
else write('Это магический квадрат')
end.
Эта работа вам не подошла?

Вы всегда можете заказать любую учебную работу у наших авторов от 20 руб.


СДЕЛАЙТЕ РЕПОСТ

6   голосов, оценка 3.833 из 5

Источник