Графическое представление графа

Алгоритм перехода к графическому представлению для неориентированного графа. Количество вершин неориентированного графа. Чтение из матрицы смежностей. Связи между вершинами в матрице. Задание координат вершин в зависимости от количества секторов.

Рубрика Математика
Вид лабораторная работа
Язык русский
Дата добавления 29.04.2011
Размер файла 34,0 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

Размещено на http://www.allbest.ru/

Московский Авиационный Институт

(Государственный Технический Университет)

филиал «Восход»

Кафедра МиПОИС

Лабораторная работа

по дискретной математике

«Графическое представление графа»

(отчет)

Преподаватель ____________ /Крохина Н.В./

Студент группы ДМ 2-26 ___________ /Толоконников А.В./

г. Байконур

2002 г.

1. Задача

Составить алгоритм перехода к графическому представлению для неориентированного графа и реализовать его программным путем, если граф задан матрицей смежностей.

2. Алгоритм решения, поставленной задачи

1) Вводится количество вершин неориентированного графа.

2) Если количество вершин больше 7, то переходим к пункту 3; иначе переходим к пункту 4.

3) Генератором случайных чисел произвольно задаются связи между вершинами в матрице смежностей, переходим к пункту 5.

4) Вводятся связи между вершинами, исходя из следующего условия: не существует пути длиной в одно ребро из одной вершины в другую - ставим «0», существует путь между двумя вершинами длиной в одно ребро - ставим «1», существует путь из вершины в саму себя - ставим «2». Все введенные данные заносятся в матрице смежностей.

5) В зависимости от количества введенных вершин производится разбиение экрана на N секторов относительно центра экрана.

6) На граничных линиях секторов на одинаковом удалении от центра экрана выводим вершины.

7) Производим чтение из матрицы смежностей. Если связь между вершинами есть, то выводим на экран отрезок, соединяющий одну вершину с другой, если связи нет - рассматриваем следующую связь. Если связь циклическая изменяем цвет вершины с зеленого на коричневый.

3. Распечатка программы решения задачи

Program Graphs;

Uses Crt, Graph;

Const

M=25; {Предельное число вершин графа}

R=200; {Радиус окружности, на которой лежат вершины (центры окружностей)}

Type

Koor = Record

X,Y: Integer

End;

MasKoor = Array[1..M] Of Koor;

Smezno = Array[1..M,1..M] of Integer;

Var

Driver, Mode,

N,I,J: Integer; {Количество вершин графа}

A: MasKoor;

B: Smezno;

Procedure Koordinata; {Процедура задания координат вершин в зависимости от количества секторов}

Var

Q,W: Real;

Begin

Writeln('Введите количество вершин графа: ');

Readln(N);

If N>M Then Halt;

Q:=6.28/N;

{Задание координат вершин графа}

For I:=1 To N Do

Begin

W:=I*Q;

A[I].X:=300+Trunc(R*cos(W));

A[I].Y:=235+Trunc(R*sin(W));

End

End;

Procedure Vivod; {Вывод вершин графа на экран монитора}

Begin

For I:=1 To N Do

Begin

SetBkColor(0);

SetColor(2);

For J:=1 To 10 Do

Circle(A[I].X,A[I].Y,J)

End

End;

Procedure Smegnost; {Процедура задания матрицы смежностей}

Begin

For I:=1 To N Do

For J:=1 To N Do

B[I,J]:=9;

If N>7 Then

For I:=1 To N Do

For J:=1 To N Do

B[I,J]:=Random(3)

else

Begin

For I:=1 To N Do

For J:=1 To N Do

If B[I,J]=9 Then

Begin

Write('Введите связь [',I,',',J,']:= ');

Readln(B[I,J]);

B[J,I]:=B[I,J]

End

Else Writeln('Cвязь [',I,',',J,']:= ',B[I,J]);

End

End;

Procedure Linia;

Var K: Integer;

Begin

For I:=1 To N Do

For J:=1 To N Do

If (I=J) And (B[I,J]=2) Then {Циклическая связь}

Begin

SetColor(Brown);

For K:=1 To 10 Do

Circle(A[I].X,A[I].Y,K)

End else

If B[I,J]=1 Then {Обычная связь}

Begin

SetColor(Red);

Line(A[I].X,A[I].Y,A[J].X,A[J].Y)

End

End;

{------------------------------------------------------------------}

Begin

ClrScr;

WriteLn('Вывод изображения графа на экран монитора');

Koordinata;

Smegnost;

Readln; {Задержка экрана}

Driver:=Detect;

InitGraph(Driver,Mode,'Egavga.bgi'); {Подключение графического режима}

Vivod;

Linia;

Readln;

Closegraph; {Отключение графического режима}

End.

неориентированный граф вершина матрица

4. Результаты работы программы для числа вершин равного 6

Матрица смежностей вершин

A

B

C

D

E

F

A

0

0

1

0

0

1

B

0

0

1

1

0

1

C

0

1

0

0

1

1

D

1

0

1

2

1

0

E

0

0

1

0

2

0

F

1

0

1

0

1

2

Размещено на Allbest.ru


Подобные документы

  • Теоретико-множественная и геометрическая форма определения графов. Матрица смежностей вершин неориентированного и ориентированного графа. Элементы матрицы и их сумма. Свойства матрицы инцидентности и зависимость между ними. Подмножество столбцов.

    реферат [81,0 K], добавлен 23.11.2008

  • Описание заданного графа множествами вершин V и дуг X, списками смежности, матрицей инцидентности и смежности. Матрица весов соответствующего неориентированного графа. Определение дерева кратчайших путей по алгоритму Дейкстры. Поиск деревьев на графе.

    курсовая работа [625,4 K], добавлен 30.09.2014

  • Проверка справедливости тождеств или включений с использованием алгебры множеств и диаграмм Эйлера-Венна. Изображение графа и матрицы отношения, обладающего свойствами рефлексивности, транзитивности и антисиммеричности. Изучение неориентированного графа.

    контрольная работа [1,3 M], добавлен 05.05.2013

  • Восстановление графов по заданным матрицам смежности вершин. Построение для каждого графа матрицы смежности ребер, инцидентности, достижимости, контрдостижимости. Поиск композиции графов. Определение локальных степеней вершин графа. Поиск базы графов.

    лабораторная работа [85,5 K], добавлен 09.01.2009

  • Доказательство тождества с помощью диаграмм Эйлера-Венна. Определение вида логической формулы с помощью таблицы истинности. Рисунок графа G (V, E) с множеством вершин V. Поиск матриц смежности и инцидентности. Определение множества вершин и ребер графа.

    контрольная работа [463,0 K], добавлен 17.05.2015

  • Задача о кенигсбергских мостах, четырех красках, выходе из лабиринта. Матрица инцидентности для неориентированного и (ориентированного) графа. Степень вершины графа. Ориентированное дерево. Линейные диаграммы или графики Ганта. Метод критического пути.

    презентация [258,0 K], добавлен 23.06.2013

  • Метод Форда-Беллмана для нахождения расстояния от источника до всех вершин графа. Алгоритмы поиска расстояний и отыскания кратчайших путей в графах. Блочно-диагональный вид и матрица в исследовании системы булевых функций и самодвойственной функции.

    курсовая работа [192,1 K], добавлен 10.10.2011

  • Понятие "граф" и его матричное представление. Свойства матриц смежности и инцидентности. Свойства маршрутов, цепей и циклов. Задача нахождения центральных вершин графа, его метрические характеристики. Приложение теории графов в областях науки и техники.

    курсовая работа [271,1 K], добавлен 09.05.2015

  • Остовное дерево связного неориентированного графа. Алгоритм создания остовного дерева, его нахождение. Сущность и главные особенности алгоритма Крускала. Порядок построения алгоритма Прима, вершина наименьшего веса. Промежуточная структура данных.

    презентация [140,8 K], добавлен 16.09.2013

  • Понятия и определения орграфа и неориентированного графа, методы решения. Неориентированные и ориентированные деревья. Подробное описание алгоритмов нахождения кратчайших путей в графе: мультиграф, псевдограф. Матрица достижимостей и контрдостижимостей.

    курсовая работа [251,0 K], добавлен 16.01.2012

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.