Лабораторная работа 1: Домашнее задание вариант 23М, 23M, 23
Описание
Лабораторная работа была защищена на высший балл.
Задание:
Разработать объектно-ориентированную программу для построения магического квадрата любого нечетного порядка N=2M+1 из последовательных натуральных чисел в следующем варианте метода Делаира. Сначала нужно построить 2 вспомогательных квадрата порядка N с перестановками N целых чисел (N-1, ..., 0, M) и (0, ..., N-1, M) в их нижней строке. Их остальные строки заполняются в порядке снизу вверх циклическими сдвигами всех чисел влево. Затем все числа первого квадрата следует умножить на N. Второй квадрат нужно повернуть на 90 градусов и каждое число в нем увеличить на 1. После этого надо сложить полученные вспомогательные квадраты. В результате этого получается магический квадрат, который должен отображаться в потоке стандартного вывода. Значение его порядка должно передаваться программе аргументом командной строки. При разработке программы следует реализовать базовый класс квадратной матрицы и производный от него класс магического квадрата. Конструктор базового класса должен обеспечивать динамическое распределение памяти по защищенному адресу для двумерного массива. В производном классе необходимо реализовать компонентные методы его заполнения и отображения.
Показать/скрыть дополнительное описание
Разработать объектно-ориентированную программу для построения магического квадрата любого нечетного порядка N=2M+1 из последовательных натуральных чисел в следующем варианте метода Делаира. Сначала нужно построить 2 вспомогательных квадрата порядка N с перестановками N целых чисел (N-1, ..., 0, M) и (0, ..., N-1, M) в их нижней строке. Их остальные строки заполняются в порядке снизу вверх циклическими сдвигами всех чисел влево. Затем все числа первого квадрата следует умножить на N. Второй квадрат нужно повернуть на 90 градусов и каждое число в нем увеличить на 1. После этого надо сложить полученные вспомогательные квадраты. В результате этого получается магический квадрат, который должен отображаться в потоке стандартного вывода.
Значение его порядка должно передаваться программе аргументом командной строки. При разработке программы следует реализовать базовый класс квадратной матрицы и производный от него класс магического квадрата. Конструктор базового класса должен обеспечивать динамическое распределение памяти по защищенному адресу для двумерного массива. В производном классе необходимо реализовать компонентные методы его заполнения и отображения..
Характеристики лабораторной работы
Преподаватели
Список файлов
- dz1.docx 98,06 Kb
- dz1.txt 5,04 Kb