Воскресенье, 05.01.2025
Pascal 4 All
Меню сайта
Категории каталога
Численные методы [5]
Графы [2]
Действия с графами
Наш опрос
А вы знали, что кликнув на обьявление в правом блоке раз в день Вы поможете сайту?
Всего ответов: 332

Главная » Статьи » Аналитические задачи » Графы

  


Обход всех ребер графа (метод Эйлера)

Program Eyler;
Uses CRT;
Const
        n = 8;     {Skoka vershin}
        START = 1; {S kakoy vershinyi na4inat' poisk}
Type
        point = record
                link: Byte;
                mark: Boolean;
                end;
Var
        a: Array[1..n,1..n] of point;
        g: Integer;

Procedure Searching(r: Byte);
Var i, j: Byte;
Begin
For i := 1 to n do
    Begin
    If (a[i,r].link = 1) then
       Begin
       a[i,r].link := 0;
       a[r,i].link := 0;
       Searching(i);
       End;
    End;
ReadKey;
Write(r,' - ');
End;

Procedure CreateMatrix;
Var i, j: Byte;
Begin
For i := 1 to n do
    Begin
    Writeln('Вершина № ',i,#13#10,'(0 - связи нет, 1 - связь есть)');
    For j := i to n do
        Begin
        If (i = j) then Continue;
        Write('Связь ',i,'-ой вершины с ',j,'-ой: ');
        Read(a[i,j].link);
        a[j,i].link := a[i,j].link;
        End;
    End;
End;

Procedure ExitProg;
Begin
Write(#13#10,'- Программа завершена. Нажмите любую клавишу для выхода -');
ReadKey;
Halt(0);
End;

Begin
ClrScr;
CreateMatrix;
Searching(START);
ExitProg;
End.


Источник:

Категория: Графы | Добавил: Seqular (04.05.2008) | Автор: Дмитрий
Просмотров: 2858 | Рейтинг: 0.0/0 |

Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Форма входа
Поиск
Друзья сайта
Статистика
Copyright MyCorp © 2025
Используются технологии uCoz
style=