4 задачи (си++, Borland Turbo C 3.0). Генерация отрезков. Алгоритм Брезенхема

  • ID: 00912 
  • 22 страницы

Фрагмент работы:

Генерация отрезков. Алгоритм Брезенхема.

Задание. Разработать АТД «Простой граф».

Интерфейс АТД «Простой граф» включает операции:

Конструктор пустого графа для заданных числа вершин, типа, и формы представления

V( ) опрос числа вершин в графе

E( ) опрос числа ребер в графе

Directed( ) опрос типа графа (ориентированный / неориентированный)

Dense опрос формы представления графа (L- граф / M- граф)

Insert(v1,v2) вставка ребра, соединяющего вершины v1, v2

Delete (v1,v2) удаление ребра, соединяющего вершины v1, v2

Edge(v1,v2) опрос наличия ребра, соединяющего вершины v1, v2

SetEdge(v1,v2, data) задание параметров ребра

Константы

MAXPOINT = 20 – максимальное количество узлов графа.

Формат АТД

Данные класс TGraf

Имя Тип Описание

Numpoint int Инициализированное количество вершин графа.

dir char 0 – ориентированный граф, 1 – неориентированный граф.

form int 0 – списки, 1 – матрица.

p[MAXPOINT] TPoint Объявление списков.

Процедуры и функции класс TGraf

Имя Входные данные Выходные данные данные Описание

insert TPoint *p_ Добавление списка (вершины)

insert int v1, int v2 Добавление ребра между верщинами v1 и v2

print Печать всех связей

TGraf Простой конструктор

TGraf int num Создание графа с кол-вом вершин num

TGraf int num

int dir_ Создание num вершин

dir_ = 0 – не ориентированный

dir_ = 1 – ориентированный граф

TGraf int num

int dir_

int form_ form_ - форма представления графа (0 – списки, 1 – матрицы)

v Int Количество вершин

e Int Количество ребер

Delete int v1

int v2 Удаление связи между v1 и v2

Edge int v1

int v2 int Проверка существования связи между v1 и v2, возвращает 0, если запрашиваемой связи нет

SetEdge int v1

int v2

int Data Установление на связь между v1 и v2 вершинами значения Data (параметры ребра)

Directed Int Запрос типа направленности графа

Dense Int Проверка «списочный или матричный граф»

PoiskShir int v1

int v2 Int Поиск расстояния между v1 и v2 вершинами, расстояние возвращается в виде значения функции

Объявление класса в клиентской программе

TGraf a(3,1,0); // 3 – количество вершин, 1 – неориентированный граф, 0 – ориентированный граф

Программа: