Дана квадратная матрица n порядка. определить является ли она магическим квадратом

Дана квадратная матрица n порядка. определить является ли она магическим квадратом
Гость
Ответ(ы) на вопрос:
Гость
В магическом квадрате сумма по каждой строке, по каждому столбцу и по обоим диагоналям равна одному и тому же числу, называемому константой магического квадрата. Программе достаточно найти одну любую сумму, принять её в качестве упомянутой константы, а затем обнаружить хотя бы один случай неравенства очередной вычисленной суммы с принятой константой. Если нарушений обнаружено не будет, квадрат является магическим. const   n2 = 10; var   a: array[1..n2, 1..n2] of integer;   i, j, n: integer;   k, s: longint;   magic: boolean; begin   Write('Введите число строк (cтолбцов) в магическом квадрате: ');   Readln(n);   for i := 1 to n do   begin     Write('Введите через пробел элементы строки ', i, ': ');     for j := 1 to n do Read(a[i, j])   end;   s := 0;   for j := 1 to n do s := s + a[1, j];   k := s; i := 2; magic := true;   while magic and (i <= n) do   begin     s := 0;     for j := 1 to n do s := s + a[i, j];     magic := (s = k);     i := i + 1   end;   j := 1;   while magic and (j <= n) do   begin     s := 0;     for i := 1 to n do s := s + a[i, j];     magic := (s = k);     j := j + 1   end;   if magic then begin     s := 0;     for i := 1 to n do s := s + a[i, i];     magic := (s = k);   end;   if magic then begin     s := 0;     for i := 1 to n do s := s + a[i, n - i + 1];     magic := (s = k);   end;   if magic then Writeln('Квадрат является магическим, k=', k)   else Writeln('Квадрат не является магическим') end. Тестовое решение: Введите число строк (cтолбцов) в магическом квадрате: 5 Введите через пробел элементы строки 1: 11 24 7 20 3 Введите через пробел элементы строки 2: 4 12 25 8 16 Введите через пробел элементы строки 3: 17 5 13 21 9 Введите через пробел элементы строки 4: 10 18 1 14 22 Введите через пробел элементы строки 5: 23 6 19 2 15 Квадрат является магическим, k=65 Введите число строк (cтолбцов) в магическом квадрате: 4 Введите через пробел элементы строки 1: 1 1 1 1 Введите через пробел элементы строки 2: 1 1 1 1 Введите через пробел элементы строки 3: 1 1 1 1 Введите через пробел элементы строки 4: 1 1 2 -1 Квадрат не является магическим
Не нашли ответ?
Ответить на вопрос
Похожие вопросы