Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Курсовая работа Рус ООП.doc
Скачиваний:
6
Добавлен:
17.08.2019
Размер:
190.98 Кб
Скачать

Тема 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. Разработать демонстрационно-тестирующую программу. Вы-полнить тестирование созданного класса.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]