Заполнить двумерный массив размерностью nxn (n нечетное число) целыми числами от 1 до n*n по следующим правилам: a) единица помещается в среднюю клетку первой строки; b) заполнение массива происходит по диагоналям вправо и вверх; c) при достижении верхней строки следующее число помещается в нижнюю строку так, как будто она находится над верхней строкой; d) при достижении крайнего правого столбца следующее число помещается в крайний левый столбец так, как будто он находится около крайнего правого столбца; e) при достижении верхней клетки крайнего правого столбца следует опуститься на одну строку ниже в вертикальном порядке и продолжать заполнение клеток по правилу; f) если клетка уже заполнена, следует опуститься на одну строку ниже в вертикальном порядке и продолжать заполнение клеток по правилу.
175
447
Ответы на вопрос:
Это алгоритм построения магического квадрата нечетного порядка магическая константа (сумма числе по строке, столбцу или диагоналям) может быть найдена по формуле баше де мезириака: ниже программа на языке 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
Реши свою проблему, спроси otvet5GPT
-
Быстро
Мгновенный ответ на твой вопрос -
Точно
Бот обладает знаниями во всех сферах -
Бесплатно
Задай вопрос и получи ответ бесплатно
Популярно: Информатика
-
danilsartakov07.11.2020 18:46
-
texin50828.08.2020 03:03
-
zlutashigaeva22.12.2021 17:05
-
АнютаП126.06.2023 06:18
-
melisonpolina07.02.2023 01:16
-
ionufrijchuk07.02.2021 00:54
-
neketapro04.04.2023 14:52
-
grafinyasvarogoztpvz03.05.2021 08:58
-
DanilVOLK22830.11.2022 14:41
-
mashuna116.09.2021 19:54
Есть вопросы?
-
Как otvet5GPT работает?
otvet5GPT использует большую языковую модель вместе с базой данных GPT для обеспечения высококачественных образовательных результатов. otvet5GPT действует как доступный академический ресурс вне класса. -
Сколько это стоит?
Проект находиться на стадии тестирования и все услуги бесплатны. -
Могу ли я использовать otvet5GPT в школе?
Конечно! Нейросеть может помочь вам делать конспекты лекций, придумывать идеи в классе и многое другое! -
В чем отличия от ChatGPT?
otvet5GPT черпает академические источники из собственной базы данных и предназначен специально для студентов. otvet5GPT также адаптируется к вашему стилю письма, предоставляя ряд образовательных инструментов, предназначенных для улучшения обучения.