Статистика
Всего в нашей базе более 4 327 052 вопросов и 6 446 078 ответов!

Заполнить двумерный массив размерностью NxN (N нечетное число) целыми числами от 1 до N*N по следующим правилам:

10-11 класс

a) единица помещается в среднюю клетку первой строки;

89182476661 14 февр. 2016 г., 1:22:21 (4 года назад)
Рейтинг
+ 0 -
0 Жалоба
+ 0 -
Margariti
14 февр. 2016 г., 2:46:26 (4 года назад)

Это алгоритм построения магического квадрата нечетного порядка m=1,3,5, ... \, 2n-1, \, n \in \mathbb N
Магическая константа (сумма числе по строке, столбцу или диагоналям) может быть найдена по формуле Баше де Мезириака:
M= m \times \frac{m^2+1}{2}

Ниже приведена программа на языке Pascal.ABC.

const
  k = 29;

var
  m, n, i, j: integer;
  a: array[1..k, 1..k] of integer;

procedure rule_f;
begin
  if (i = 0) and (j = n + 1) then begin
    i := 2;
    j := n
  end
  else begin
    if i = 0 then i := n;
    if j = n + 1 then j := 1
  end;
  if a[i, j] <> 0 then
  begin
    i := i + 2;
    j := j - 1;
    rule_f
  end
  else
    a[i, j] := m
end;

procedure rule_b;
begin
  i := i - 1;
  j := j + 1
end;

begin
  write('Введите целое нечетное число не меньше, чем 3: ');
  readln(n);
  if (n mod 2) = 0 then writeln('Ошибка: Вы ввели четное число.')
  else if n < 3 then writeln('Ошибка: число должно быть не меньше трех.')
  else
  begin
    for i := 1 to n do
      for j := 1 to n do
        a[j, j] := 0;
    i := 1;
    j := (n + 1) div 2;
    a[i, j] := 1;
    for m := 2 to sqr(n) do
    begin
      rule_b;
      rule_f
    end;
    writeln('Магический квадрат порядка ', n, ' с магической константой ',
      (n * (sqr(n) + 1)) div 2);
    for i := 1 to n do
    begin
      for j := 1 to n do write(a[i, j]:4);
      writeln
    end
  end
end.

Тестовое решение:

Введите целое нечетное число не меньше, чем 3: 5
Магический квадрат порядка 5 с магической константой 65
  17  24   1   8  15
  23   5   7  14  16
   4   6  13  20  22
  10  12  19  21   3
  11  18  25   2   9


Ответить

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

Пользователь вводит две строки, а программа объединяет их , чередуя символы. Например:

Даны: qwerty ABCD
Результат: qAwBeCrDty
Плиз помогите ...

Определите полный набор исходных данных для решения следующих задач.

1.Задача( вычесление площади прямоугольника) исходные данные ( ...)
2.Задача ( приготовление обеда) исходные данные (...)
3.Задача ( вычисление стоимости покупок в магазине) исходные данные (...)
4.Задача ( приготовление салата по рецепту ) исходные данные (...)
5. Задача ( выполнение домашнего задания ) исходные данные ( ... )

ОТВЕТИТЬ НА ВОПРОСЫ. 1)Фамилия писателя который побывал в россии 20 годов прошлого века написал очерк в котором посчитал электрофикацию страны

утопией?

2)Кто сказал "Коммунизм-это есть советская власть плюс электрофикация всей страны" ?

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

Дана строка , в которой содержится осмысленное текстовое сообщение. Слова сообщения разделяются В заданном формате дд- целое число из диапазона от 1 до

31, мм - целое число из диапазона от 1 до 12, а гг - целое число из диапазона от 1 до 2020 (если какая-то часть формата нарушена, то данная подстрока в качестве даты не рассматривается.) Заменить каждую дату сообщения на дату следующего дня. Написать программу на Паскале. Сроооооооооооооочнооо. Пооожалуйста.....

10-11 класс информатика ответов нет
ПАСКАЛЬ.1)дан целочисленный массив из 30 элементов.элементы массива могут принимать целые значения от 0 до 1000.опишите на русском языке или на одном из

языков программирования алгоритм,позволяющий найти среднее арифметическое нечетных трехзначных чисел,записанных в этом массиве.если ни одного такого числа нет,нужно вывести сообщение об этом.
2)дан целочисленный массив из 30 элементов.элементы массива могут принимать целые значения от 0 до 100.опишите на русском языке или на одном из языков программирования алгоритм,позволяющий найти и вывести произведение элементов массива,которые имеют четное значение и не оканчиваются на 0.



Вы находитесь на странице вопроса "Заполнить двумерный массив размерностью NxN (N нечетное число) целыми числами от 1 до N*N по следующим правилам:", категории "информатика". Данный вопрос относится к разделу "10-11" классов. Здесь вы сможете получить ответ, а также обсудить вопрос с посетителями сайта. Автоматический умный поиск поможет найти похожие вопросы в категории "информатика". Если ваш вопрос отличается или ответы не подходят, вы можете задать новый вопрос, воспользовавшись кнопкой в верхней части сайта.