- •Факультет информатики и вычислительной техники
- •Содержание
- •1 Содержание курсовой РаБоТы и ее оформление
- •2 ТеМы курсовых работ
- •3 Задания к курсовым работам
- •Тема 1
- •Тема 3
- •Тема 4
- •Тема 5
- •Тема 6
- •Тема 7
- •Тема 8
- •Тема 9
- •Тема 10
- •Тема 11
- •Тема 12
- •Тема 13
- •Тема 14
- •Тема 15
- •Тема 16
- •Тема 17
- •Тема 18
- •Тема 19
- •Тема 20
- •Тема 21
- •Тема 22
- •Тема 23
- •Тема 24
- •Тема 25
- •4 Общие методические указания
- •5 Стиль записи программ
- •Void poligon::draw() // Заголовок функции пишем с // 3 позиции
- •Void main() // Функция main такая же, как и другие
- •6 Литература
Тема 14
Классы для вычислений на ориентированных графах: матрица смежности и таблица связей
1. Создать классы Tgraph и Mgraph для представления таблиц связей и матриц смежности графов.
2. Для создания объектов классов, их инициализации и правильного удаления предусмотреть соответствующие конструкторы и деструктор. В каждом из классов предусмотреть конструктор копирования.
3. Для программирования операций над объектами типа Tgraph и Mgraph выполнить перегрузку следующих символов операций:
- динамическое присваивание, символ "=";
- формирование значения, которое соответствует графу с нулевым количеством вершин, символ "=", правый операнд - число 0;
- формирование значения, которое соответствует безреберному графу с заданным количеством вершин, символ "=", правый операнд - целое число;
- ввод из файла таблицы связей или матрицы смежности, символ "<<";
- вывод в файл таблицы связей или матрицы смежности, символ ">>".
4. В каждом из классов предусмотреть следующие функции:
void del_v(int k) - удаление вершины с номером k из графа;
void add_v() - добавление изолированной вершины в граф;
void del_r(int i, int k) - удаление ребра с конечными вершинами i,k из графа ;
void add_r(int i, int k) - дабавление ребра с конечными вершинами i,k в граф;
int Tgraph::pow(int k) - получить степень вершины с номером k.
5. Для создаваемых классов Tgraph и Mgraph предусмотреть средства взаимного преобразования типов.
6. Разработать демонстрационно-тестирующую программу. Выполнить тестирование созданного класса.
Тема 15
Классы для компактного представления неориентированных графов
1. Создать классы Mgraph - матрица смежности и Bincod - бинарный код неориентированного графа.
2. Для создания объектов классов Mgraph и Bincod, их инициализации и правильного удаления предусмотреть соответствующие конструкторы и деструкторы. В каждом из классов предусмотреть конструктор копирования.
3. Для программирования операций над объектами классов Mgraph и Bincod выполнить перегрузку следующих символов операций:
- динамическое присваивание, символ "=";
- ввод значения объекта из файла, символ "<<";
- вывод объекта в файл, символ ">>".
4. В классах Mgraph и Bincod предусмотреть следующие функции:
- int numv() - получить число вершин графа;
- int numr() - получить число ребер графа;
5. Предусмотреть следующие функции - члены класса Bincod:
- int Bincod::sizew() - получить размер бинарного кода (количество слов, представляющих бинарный код);
- int Bincod::sizeb() - получить длину бинарного кода (количество бит, представляющих бинарный код);
6. Для создаваемых классов Mgraph и Bincod предусмотреть сред-ства взаимного преобразования типов.
7. Разработать демонстрационно-тестирующую программу. Вы-полнить тестирование созданного класса.