Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Отчет.DOC
Скачиваний:
15
Добавлен:
02.06.2015
Размер:
1.48 Mб
Скачать

1 Текст задания

Элемент матрицы называется локальным минимумом, если он строго меньше всех имеющихся у него соседей. Подсчитать количество локальных минимумов заданной матрицы размером n на m.

Найти сумму модулей элементов, расположенных выше главной диагонали.

Предусмотреть заполнение матрицы числами автоматически и при вводе с клавиатуры.

Выполнить программу с динамическим выделением памяти.

Входные данные:

nможет принимать значения от 3 до 99 включительно

mможет принимать значения от 3 до 99 включительно

Выходные данные:

количество локальных минимумов и сумма элементов, расположенных выше главной диагонали.

0 -4 2

1 4 -1

2 -3 0

Количество локальных минимумов равно k=2

a[0][1]=-4, a[2][1]=-3

Сумма модулей элементов выше главной диагонали p=4

2 Спецификация программы

При запуске программы перед пользователем появляется меню и предлагается выбрать пункт меню путем нажатия клавиши с цифрой, соответствующей выбранному пункту. Меню имеет следующие пункты:

  1. Ввод данных.

Пользователю предлагается ввести количество строк и столбцов, введенное число должно принадлежать интервалу от 2 до 100. Затем появляется сообщение о том, как пользователь желает заполнить матрицу: автоматически либо с клавиатуры. После нажатия пользователем соответствующей клавиши появляется сама матрица (при автоматическом заполнении) либо номер элемента матрицы (при заполнении с клавиатуры).

  1. Решение.

Выводится матрица, локальные минимумы и их количество, сумма модулей элементов выше главной диагонали.

  1. О программе.

Выводится фамилия, имя, группа разработчика программы и текст задания.

  1. Выход.

Выход из консольного окна и завершение работы программы.

После каждого выбора пункта плана появляется сообщение, что для того, чтобы вернуться в меню, необходимо нажать любую клавишу.

Конструктивно программа выполнена в виде десяти вызываемых функций и одной основной функции _tmain(), которая осуществляет управление вызываемыми функциями и поддерживает диалог с пользователем.

Вызываемые функции:

voidtext(void); вывод фамилии, имени, группы разработчика

программы и текст задания

voidmenu(void); отображение меню в консольном окне

intrazmer_matrici(char*stroka,charc); функция ввода количества строк и

столбцов

intrnd(intrang_min,intrang_max); функция генерации элементов

матрицы случайным образом

voidinput_elem(int**a,intn,intm); заполнение матрицы числами

int**memory(intn,intm); динамическое выделение памяти для

массива

void output(int **a,int n,int m); вывод матрицы

voidz_1(int**a,intn,intm); функция нахождения количества

локальных минимумов

voidz_2(int**a,intn,intm); функция нахождения суммы модулей

элементов, расположенных выше главной

диагонали

voidend(void); функция для возвращения в меню

Входные данные программы приведены в таблице 1.

Выходные данные программы приведены в таблице 2.

Вспомогательные переменные приведены в таблице 3.

Таблица 1-Входные данные

Тип

Идентификатор

Диапазон

Назначение

int

n

-32768…32767

Количество строк матрицы

int

m

-32768…32767

Количество столбцов матрицы

int

t

-32768…32767

Управление программой – пункт плана

Таблица 2-Выходные данные

Тип

Идентификатор

Диапазон

Назначение

int

k

-32768…32767

Количество локальных минимумов

int

p

-32768…32767

Сумма элементов матрицы, расположенных выше главной диагонали

int

a[i][j]

-32768…32767

Элемент матрицы

Таблица 3- Вспомогательные переменные

Тип

Идентификатор

Диапазон

Назначение

bool

flag

True и False

Проверка наличия ввода элементов

char

*stroka

-128…127

Указатель на символьные строки

("строк", "столбцов")

char

c

-128…127

Указатель на символ, обозначающий строки и столбцы

int

A

-32768…32767

Переменная для ввода размерности матрицы

int

i

-32768…32767

Номер строки

int

j

-32768…32767

Номер столбца

int

h

-32768…32767

Номер столбца, с которого считается сумма