После запуска программы на экране пользователя появляется окно (см. Рисунок 11), в котором будет выведены: номер варианта задания, формулировка задания и список команды выполняемых программой.
Рисунок 11 –Запуск программы
Каждую команду можно активировать, нажав соответствующую клавишу на клавиатуре («1» - Для заполнения дерева автоматически, «2» - Для ввода дерева вручную, «3» - Для выхода из программы).
Если пользователем будет выбрана команда «3», то программа завершит работу.
Команда «1» позволит пользователю самостоятельно заполнить дерево элементами в диалоговом режиме. Также произойдёт вывод введённого дерева и вывод обработанного дерева, а также их обход и глубина. (см. Рисунок 12).
Рисунок 12 - ввод дерева с клавиатуры
Выбрав команду «2», программа автоматически сгенерирует дерево заданной длины, наполнив его случайными элементами. Произойдёт вывод этого дерева, затем вывод дерева с удаленными повторяющимися элементами, а также их обходы и глубина (см. Рисунок 13).
Рисунок 13 - Автоматическое генерирование дерева
Заключение
В ходе выполнения курсовой работы были Проанализированы различные способы представления и использования двоичных деревьев поиска. Общие принципы построения деревьев и методы удаления элементов из них.
Задача, поставленная в данной курсовой работе, является достаточно сложной с точки зрения составления алгоритма. Помимо этого, она довольно сложна в плане реализации, так как требуетдетального изучения и понимания предметной области. Результатом выполнения курсовой работы является полноценное приложение с отдельными функциями, разработанное в соответствии с современными подходами к созданию программного обеспечения. Был разработан и реализован пользовательский интерфейс, а также защита от возникновения ошибки при неправильном вводе. Также написанное приложение решает поставленную ранее задачу и полностью соответствует всем установленным для нее требованиям.
Выполнение данной работы позволило закрепить изученный материал, а также получить новые, принципиально важные знания в области программирования, проектирования и разработки программных продуктов.
Литература
1. «С++. Освой на примерах» М. И. Динман – СПб: БХВ-Петербург, 2006. 384с.
2. «Структуры и алгоритмы обработки данных» И. В. Цапко – Томск: Изд-во Томского политехнического университета, 2007. 184с.
3. «/С++ и MS Visual C++ 2008 для начинающих» Б.И. Пахомов – СПб: БХВ-Петербург, 2009. 624с.
Приложения
Приложение А
Листинг программы
#include "stdafx.h"
#include <iostream>
#include <conio.h>
#include <iomanip>
#include <time.h>
#pragma hdrstop//директива связана с особенностью работы препроцессора, производительность которого
//существенно повышается, если учитывается, что некоторое количество заголовочных файлов
//общие для всех модулей
#pragma argsused//говорит компилятору, что следует подавить выдачу предупреждающего сообщения о том,
//что параметры функции main () никак в ней не используются.