Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Гурик / Лабораторная работа №8.docx
Скачиваний:
1
Добавлен:
01.04.2022
Размер:
1.1 Mб
Скачать

Лабораторная работа №8

«Обработка двумерных массивов (матриц) в Visual C++»

Оглавление

Y

1. Задание на лабораторную работу 3

2. Формализация 4

3. Заставка к лабораторной работе 4

4. Схема алгоритма решения задачи 5

5. Листинг программы 15

5.1 Листинг основной программы 15

.2 Листинг dll библиотеки 16

6 Тестирование программы 22

Список использованной литературы: 24

  1. Задание на лабораторную работу

Задача: Разработать проект с двумя формами. Первая форма – заставка к приложению, вторая – решение задания лабораторной работы. Заставка в первой форме должна быть реализована при помощи надписи. Кроме этого разработать функцию entermas1 ,Del, kiks1 и outputmas типа void , которые будут находиться в dll библиотеке.

Дана целочисленный матрица, элементы которой могут принимать неотрицательные целые значения до 10000 включительно. Необходимо определить количество четных и нечетных чисел. Если количество четных чисел больше, чем количество нечетных, заменить каждое нечетное число на произведение нечетных цифр в его десятичной записи. Если количество нечетных чисел больше, заменить каждое четное число на произведение четных цифр в его десятичной записи. В качестве результата необходимо вывести измененную матрицу

Для выполнения лабораторной работы требуется разработать:

  1. Заставку в первой форме, которая должна быть реализована при помощи надписи.

  2. Функцию kiks1 типа void с параметрами (int** a, int len), в которой будет происходить основные вычисления программы: нахождения количества четных и нечетных элементов, а также подсчет всех перемноженных значений четных цифр и отдельно нечетных цифр.

  3. Функцию Del типа void с параметрами (int** arr, int m), в которой будет происходить очищение памяти от данных массивов.

  4. Функцию outputmas1 типа void с параметрами (int** arr, int n, int m), в которой будет происходить вывод матрицы, а также будут вноситься дополнительные под настройки для datagridview1.

  5. Функцию entermas1 типа void с параметрами (int** arr, int n, int m), в которой будет происходить генерация матрицы.

  6. Разработать dll библиотеку, в которой будут находиться функция: kiks1, outputmas1, entermas1, Del.

  7. Событийную в которой будет происходить считывание данных через MessageBox и генерация матрицы, а также будет происходить запуск функции kiks1, Del и outputmas1.

  1. Формализация

В функции 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.

  1. Заставка к лабораторной работе

Заставка к лабораторной работе №8 (рисунок 1).

Рисунок 1 – Заставка к лабораторной работе №8

  1. Схема алгоритма решения задачи

Рисунок 2 – Схема алгоритма функции outputmas1 ()

Рисунок 3 – Схема алгоритма функции kiks ()

Рисунок 4– Схема алгоритма функции entermas1

Рисунок 5– Схема алгоритма функции Del

Рисунок 6– Схема алгоритма событийной Button1_Click