
Лабораторная работа №8
«Обработка двумерных массивов (матриц) в Visual C++»
Оглавление
Y
1. Задание на лабораторную работу 3
2. Формализация 4
3. Заставка к лабораторной работе 4
4. Схема алгоритма решения задачи 5
5. Листинг программы 15
5.1 Листинг основной программы 15
.2 Листинг dll библиотеки 16
6 Тестирование программы 22
Список использованной литературы: 24
Задание на лабораторную работу
Задача: Разработать проект с двумя формами. Первая форма – заставка к приложению, вторая – решение задания лабораторной работы. Заставка в первой форме должна быть реализована при помощи надписи. Кроме этого разработать функцию entermas1 ,Del, kiks1 и outputmas типа void , которые будут находиться в dll библиотеке.
Дана целочисленный матрица, элементы которой могут принимать неотрицательные целые значения до 10000 включительно. Необходимо определить количество четных и нечетных чисел. Если количество четных чисел больше, чем количество нечетных, заменить каждое нечетное число на произведение нечетных цифр в его десятичной записи. Если количество нечетных чисел больше, заменить каждое четное число на произведение четных цифр в его десятичной записи. В качестве результата необходимо вывести измененную матрицу
Для выполнения лабораторной работы требуется разработать:
Заставку в первой форме, которая должна быть реализована при помощи надписи.
Функцию kiks1 типа void с параметрами (int** a, int len), в которой будет происходить основные вычисления программы: нахождения количества четных и нечетных элементов, а также подсчет всех перемноженных значений четных цифр и отдельно нечетных цифр.
Функцию 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.
Событийную в которой будет происходить считывание данных через MessageBox и генерация матрицы, а также будет происходить запуск функции kiks1, Del и outputmas1.
Формализация
В функции kiks1 происходят вычисления по определенным значение параметрам типа int «a», «n», «m», «i», «j», «CH», «NCH», «countCH», «countNCH», где «a» переменная матрицы
«dgv» - переменная типа DataGridView функции kiks1.
«dgv1» - переменная типа DataGridView функции outputmas1.
«width» - переменная типа int функции outputmas1.
«arr», «n», «m», «n», - переменная типа int функции entermas1.
Заставка к лабораторной работе
Заставка к
лабораторной работе №8 (рисунок 1).
Рисунок 1 – Заставка к лабораторной работе №8
Схема алгоритма решения задачи
Рисунок 2 – Схема алгоритма функции outputmas1 ()
Рисунок 3 – Схема алгоритма функции kiks ()
Рисунок 4– Схема алгоритма функции entermas1
Рисунок 5– Схема алгоритма функции Del
Рисунок 6– Схема алгоритма событийной Button1_Click