
Лабораторная работа №9
«Базовые алгоритмы обработки двумерных массивов в Visual C++»
Оглавление
Y
1. Задание на лабораторную работу 3
2. Формализация 5
3. Заставка к лабораторной работе 6
4. Схема алгоритма решения задачи 7
5. Листинг программы 34
5.1 Листинг основной программы 34
.2 Листинг dll библиотеки 38
6 Тестирование программы 49
Список использованной литературы: 58
Задание на лабораторную работу
Задача: Разработать проект с двумя формами. Первая форма – заставка к приложению, вторая – решение задания лабораторной работы. Заставка в первой форме должна быть реализована при помощи надписи. Кроме этого разработать функцию entermas1, Del, kiks1, MaxMatrix, ProizvDvuhMatrix, NahodNumberMin, SmenColumn и outputmas типа void, которые будут находиться в dll библиотеке.
Дана целочисленный матрица, элементы которой могут принимать неотрицательные целые значения до 10000 включительно. Необходимо определить количество четных и нечетных чисел. Если количество четных чисел больше, чем количество нечетных, заменить каждое нечетное число на произведение нечетных цифр в его десятичной записи. Если количество нечетных чисел больше, заменить каждое четное число на произведение четных цифр в его десятичной записи. В качестве результата необходимо вывести измененную матрицу. Кроме этого нужно разработать алгоритмы: нахождение наибольшего элемента массива и его индексов, произведение двух матриц, нахождение номера столбца с наименьшим значением среди всех элементов массива, обмен столбцов матрицы
Для выполнения лабораторной работы требуется разработать:
Заставку в первой форме, которая должна быть реализована при помощи надписи.
Функцию kiks1 типа void с параметрами (int** a, int len), в которой будет происходить основные вычисления программы: нахождения количества четных и нечетных элементов, а также подсчет всех перемноженных значений четных цифр и отдельно нечетных цифр.
Функцию MaxMatrix() типа void с параметрами (int** arr, int len, int len1, int& ki, int& kj), в которой будет происходить нахождение наибольшего элемента матрицы и его индексов.
Функцию ProizvDvuhMatrix с параметрами (int** arr, int** arr1, int** rezmas, int len, int len2), в которой будет происходить произведение матриц.
Функцию NahodNumberMin с параметрами (int** arr, int m, int n, int& f), в которой будет происходить нахождение номера столбца с наименьшим значением среди всех элементов матрицы.
Функцию SmenColumn с параметрами (int** mass, int** mass3, int rowCount, int columnCount, int d, int f), в которой будет происходить смена столбцов матрицы.
Функцию Del типа void с параметрами (int** arr, int m), в которой будет происходить очищение памяти от данных матрицы.
Функцию outputmas1 типа void с параметрами (int** arr, int n, int m), в которой будет происходить вывод матрицы, а также будут вноситься дополнительные под настройки для datagridview1.
Функцию entermas1 типа void с параметрами (int** arr, int n, int m), в которой будет происходить генерация матрицы.
Разработать dll библиотеку, в которой будут находиться функция: kiks1, outputmas1, entermas1, Del.
Событийную button2_Click в которой будет происходить считывание данных через MessageBox и генерация матрицы, а также будет происходить запуск функции kiks1, Del и outputmas1.
Событийную button1_Click в которой будет происходить считывание данных через MessageBox и генерация матрицы, а также будет происходить запуск функции kiks1, Del, MaxMatrix,Vivod и outputmas1.
Событийную button3_Click в которой будет происходить считывание данных через MessageBox и генерация матрицы, а также будет происходить запуск функции kiks1, Del,ProizvDvuhMatrix и outputmas1.
Событийную button4_Click в которой будет происходить считывание данных через MessageBox и генерация матрицы, а также будет происходить запуск функции kiks1, Del,NahodNumberMin,Vivod и outputmas1.
Событийную button5_Click в которой будет происходить считывание данных через MessageBox и генерация матрицы, а также будет происходить запуск функции kiks1, Del, SmenColum и outputmas1.