![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Новичок
Джуниор
Регистрация: 13.01.2009
Сообщений: 1
|
![]()
Короче проблема такая, как в заданном графе проверить узлы на смежность? Или как построить матрицу смежности по уже данному графу. Граф неориентирован и ребра имеют единничный вес
|
![]() |
![]() |
![]() |
#2 |
Регистрация: 29.11.2008
Сообщений: 5
|
![]()
Вот код из программы для создания матрицы смежности:
assign(F1,'input2.txt'); reset(F1); readln(F1,N,R);//читаем кол-во вершин и ребер графа uk:=0; for i:=1 to R do//идем по строкам файла и читаем ребра графа begin//заполняем матрицу графа readln(F1,s); flag:=false; for j:=1 to uk do if Name[j]=s[1] then begin flag:=true; u:=j; break; end; if flag=false then begin uk:=uk+1; Name[uk]:=s[1]; u:=uk; end; inc(ne[u]); flag:=false; for j:=1 to uk do if Name[j]=s[3] then begin flag:=true; v:=j; break; end; if flag=false then begin uk:=uk+1; Name[uk]:=s[3]; v:=uk; end; Graf[u][ne[u]]:=v; end; close(F1); Берем данные из входного файла: кол-во вершин в графе, кол-во ребер, и далее читаем ребра. пример входного файла для этой программы: 10 13 a b a c b k b d f c d f d n c e g e g i i d i k e n Этот код для ориентированного графа, для неориентрированного его нужно менять - в нем матрица зеркально отображается относительно главной диагонали. Если нужна будет программа, то за деньги напишу, ICQ 8 729 739 (Silver Rider). |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Графы | Prisian | Общие вопросы Delphi | 11 | 02.05.2013 22:02 |
графы на Delphi | UMmi | Общие вопросы Delphi | 12 | 26.02.2011 14:14 |
Матрица (Си) | ManInBlack | Помощь студентам | 3 | 13.01.2009 13:43 |