Статистика
Всего в нашей базе более 4 327 663 вопросов и 6 445 978 ответов!

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

10-11 класс

Darin4uk 07 янв. 2017 г., 12:25:29 (7 лет назад)
Рейтинг
+ 0 -
0 Жалоба
+ 0 -
Misssa11
07 янв. 2017 г., 13:46:30 (7 лет назад)

В магическом квадрате сумма по каждой строке, по каждому столбцу и по обоим диагоналям равна одному и тому же числу, называемому константой магического квадрата. Программе достаточно найти одну любую сумму, принять её в качестве упомянутой константы, а затем обнаружить хотя бы один случай неравенства очередной вычисленной суммы с принятой константой. Если нарушений обнаружено не будет, квадрат является магическим.

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
Квадрат не является магическим





Ответить

Другие вопросы из категории

A & В & (D || !B) & !(A || C)

Упростите выражение

Помогите, пожалуйста, решить задачу в Паскале:

Дан массив целых чисел. Выяснить, является ли s-ый элемент массива положительным числом.

Срочно!!!!!!!!!

С экрана монитора человек воспринимает цвет как сумму излучения трех базо-
вых цветов:
1) желтый, зеленый и синий
2) красный, синий и коричневый
3) красный, зеленый и синий
4) белый, черный и серый

надо срочно

Составить программу, которая для любого натурального числа печатает количество цифр в записи этого числа.
расписать все четко

Читайте также

Написать программу для паскаля. Дана квадратная матрица

порядка n(n=5).
Если в данной матрице a нет отрицательных элементов,
то транспонировать её, иначе выдать сообщение.

Дана вещественная квадратная матрица А порядка n. Найти среднее

арифметическое среди положительных элементов матрицы, находящихся на
главной и побочной диагоналях. Выдать сообщение, если таких элементов нет.



Вы находитесь на странице вопроса "дана квадратная матрица n порядка. определить является ли она магическим квадратом", категории "информатика". Данный вопрос относится к разделу "10-11" классов. Здесь вы сможете получить ответ, а также обсудить вопрос с посетителями сайта. Автоматический умный поиск поможет найти похожие вопросы в категории "информатика". Если ваш вопрос отличается или ответы не подходят, вы можете задать новый вопрос, воспользовавшись кнопкой в верхней части сайта.