Class_Home_07 / Home_07.Двумерные массивы
.docЛабораторная работа №7
Двумерные массивы (дома)
Написать программу, в которой происходит обработка двумерного массива. В рамках программы реализовать указанные ниже методы и проверить их работу:
1. Create(a,n,m) – cоздаёт массив A размером N строк М столбцов, заполненный нулями.
2. Fill(a) – заполняет массив А по правилу (на примере массива 4х5):
Вар: 1 5 9 13 17 |
Вар: 2 6 10 14 18 |
Вар: 3 7 11 15 19 |
Вар: 4 8 12 16 20 |
3. FillRND(a,m) – заполняет массив А случайными числами от –m до m.
4. Print(a, name) – выводит таблицу элементов матрицы с расчерченными разделителями строк и столбцов и заголовком «матрица <имя>»
5. Transp(a, m) – выполняет транспонирование элементов массива (чётные варианты – допустимо изменение размерности, нечётные варианты – недопустимо).
6_1. Sum(a, b, c) – определяет С как сумму матриц А+В (чётные варианты).
6_2. Sum(a, b) – возвращает сумму матриц А+В (нечётные варианты).
7_1. Mult(a, b, c) – определяет С как произведение матриц А·В (нечётные варианты).
7_2. Mult(a, b) – возвращает произведение матриц А·В (чётные варианты).
8_1. Max(a) определяет, сколько раз в матрице встречается её максимальный элемент (варианты 1, 4, 7, 10, 13, …).
8_2. Max(a) – возвращает номер столбца, в котором находится максимальный элемент матрицы (варианты 2, 5, 8, 11, 14, …).
8_3. Max(a) – возвращает номер строки, в котором находится максимальный элемент матрицы (варианты 3, 6, 9, 12, 15, …).
9_1. Change(a,k,l) – меняет в матрице А местами k-ю и l-ю строки (варианты 1, 2, 5, 6, 9, 10, …).
9_1. Change(a,k,l) – меняет в матрице А местами k-й и l-й столбцы (варианты 3, 4, 7, 8, 11, 13, …).
10. Simm(a) – меняет местами элементы матрицы симметрично относительно центра.
Замечания:
-
Раз не сказано, что массив – целочисленный, то его элементы – вещественные числа.
-
Если метод для указанных параметров не может быть выполнен (например, нельзя найти определитель неквадратной матрицы), делайте его типа bool, чтобы он возвращал false в указанном случае или true, если всё прошло нормально.