Для студентов МГТУ им. Н.Э.Баумана по предмету Объектно-ориентированное программирование (ООП)M22M22
5,0053
2024-07-212024-07-23СтудИзба
ДЗ 1: M22 вариант 22
Описание
Условие домашнего задания:
Разработать объектно-ориентированную программу для построения магического квадрата любого нечетного порядка N=2M+1 из последовательных натуральных чисел в следующем варианте метода Делаира. Сначала нужно построить 2 вспомогательных квадрата порядка N. В их нижнюю строку надо записать перестановку N целых чисел (N-1, …, 0, M). Остальные строки заполняются в порядке снизу вверх последовательными циклическими сдвигами ее чисел влево. Затем все числа 1 квадрата следует умножить на N. Другой квадрат необходимо повернуть на 90 градусов и каждое число в нем увеличить на 1. После этого надо сложить полученные вспомогательные квадраты. В результате этого получается магический квадрат, который должен отображаться в потоке стандартного вывода. Значение его порядка должно передаваться программе аргументом командной строки. При разработке программы следует реализовать базовый класс квадратной матрицы и производный от него класс магического квадрата. Конструктор базового класса должен обеспечивать динамическое распределение памяти по защищенному адресу для двумерного массива. В производном классе необходимо реализовать компонентные методы его заполнения и отображения.
Отчет к работе и исходный код программы прилагаются
Разработать объектно-ориентированную программу для построения магического квадрата любого нечетного порядка N=2M+1 из последовательных натуральных чисел в следующем варианте метода Делаира. Сначала нужно построить 2 вспомогательных квадрата порядка N. В их нижнюю строку надо записать перестановку N целых чисел (N-1, …, 0, M). Остальные строки заполняются в порядке снизу вверх последовательными циклическими сдвигами ее чисел влево. Затем все числа 1 квадрата следует умножить на N. Другой квадрат необходимо повернуть на 90 градусов и каждое число в нем увеличить на 1. После этого надо сложить полученные вспомогательные квадраты. В результате этого получается магический квадрат, который должен отображаться в потоке стандартного вывода. Значение его порядка должно передаваться программе аргументом командной строки. При разработке программы следует реализовать базовый класс квадратной матрицы и производный от него класс магического квадрата. Конструктор базового класса должен обеспечивать динамическое распределение памяти по защищенному адресу для двумерного массива. В производном классе необходимо реализовать компонентные методы его заполнения и отображения.
Отчет к работе и исходный код программы прилагаются
Характеристики домашнего задания
Учебное заведение
Семестр
Номер задания
Вариант
Программы
Просмотров
27
Качество
Идеальное компьютерное
Размер
132,12 Kb
Преподаватели
Список файлов
M22.cpp
Домашнее задание М22.docx