Задача на C#
Задача на C#: В заданном графе для каждой пары вершин найти расстояние между ними.
Техническое задание:
1) Динамически выделять память в размере, требуемом для представления текущего графа;
2) Использовать удобную для пользователя форму задания входных данных;
3) Контролировать правильность введённых данных и файловых операций при помощи механизма исключений;
4) Поддерживать работу как с помощью мыши, так и с использованием клавиатуры;
5) Иметь возможность отмены хотя бы одного последнего действия редактрирования графа;
6) Иметь панель управления с кнопками, дублирующими основные команды меню, и строку состояния для вывода "длинных" подсказок об активных элементах интерфейса (командах, кнопках и т.п.) и текущего времени;
7) Обеспечивать вывод "всплывающих" подсказок об инструментальных кнопках;
8) Иметь полностью русскоязычный интерфейс (в т.ч. и для сообщений об ошибках, возникающих при работе программы);
9) Обеспечивать выдачу контекстной справки по активному элементу интерфейса;
10) Иметь исходный текст с достаточным количеством комментариев;
Текстовое описание
1) Внешняя спецификация;
2) Описание (схему) алгоритма с кратким его обоснованием;
3) Описание программы, включающее описание всех её модулей с указанием экспортируемых из них объектов и взаимосвязей с другими модулями и описание всех созданных классов с указанием их предков, полей (свойств) и заголовков методов;
4) Описание тестов, на которых проверялась работа программы, с указанием всех полученных для них результатов (обязательна проверка на графе, содержащим не менее 25 вершин);
5) Руководство пользователя с примером;
6) Объем программы до и после её оптимизации (отдельно для динамической и статической компоновки);
7) Исходные тексты модулей и файлов (в т.ч. .rc- и .dmf-файлов) программы (этот раздел может представляться только в электронной версии отчёта);