Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 02.06.2018, 23:18   #1
Ymti
 
Регистрация: 15.05.2018
Сообщений: 6
Восклицание PascalABC.net список смежных вершин; поиск в ширину

Помогите реализовать граф. Задание на скрине, может быть вообще не верный. WidthSearch-процедура с лекции не могу понять как реализовать.
Код :
kb.txtScreenshot_2.png
Код:
Const
 N = 8;
Var
 A:array[1..N,1..N] of integer;
 Visited: array [1..N] of byte;
 f:text;
 i:integer;
 
 
 procedure MatrSm;
 var
 i,j,g:integer;
begin
  assign(f, 'kb.txt'); reset(f);
  g:=1;
 for i:=1 to N do
  for j:=1 to N do
   Read(f, A[i,j]);
   end;
   
   
  procedure printM;
  var i,j:integer;
  begin
 for i:=1 to N do
  begin
   for j:=1 to N do
    Write(A[i,j]:3);
   Writeln;
  end;
  writeln;
end;


procedure BFS(A : Matrix; n, V : integer); 
	{ обход в ширину (V - начальная вершина) }
var i, ps, pe : integer;
   Q=record	{ "очередь" вершин }
	el: array [1..N] of integer; 
	front, rear: integer
   end;
   visited: array [1..N] of boolean; 
	{ массив посещённости вершин }
begin
  Q.front := 1; { начало очереди }
  Q.rear := 1; { конец очереди }
  Q.el[Q.rear] := v; {  в очередь помещается исходная вершина 
  visited[v] := true; { вершина V посещена }
 while Q.front <= Q.rear do begin { пока очередь не пуста }
   for i:=1 to n do
     if (A[v, i]<>0) and (not visited[i]) then begin
		{ перебираем все связные с V вершины }
	  Q.rear := Q.rear+1; { добавляем в очередь }
        Q.el[Q.rear] := i; 
        visited[i] := true; { отмечаем вершину  пройденной}
     end;
   Q.front:= Q.front+1; {переход к след. вершине в очереди}
   v := Q.el[Q.front];  {и делаем её текущей }
 end;
end;

Последний раз редактировалось Ymti; 03.06.2018 в 16:57.
Ymti вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Преобразование кода из C в PascalABC.NET (символы и строки) - PascalABC.NET ParkerVans Помощь студентам 5 05.12.2017 10:09
Метод поиск в глубину ( граф ) - PascalABC.NET Max00766 Паскаль, Turbo Pascal, PascalABC.NET 2 29.04.2016 14:28
Массив строк, поиск (PascalABC.NET) Родион19 Помощь студентам 0 13.12.2015 15:31
Линейный Поиск в массиве со случайными числами в PascalABC.NET Otar4ik Помощь студентам 2 23.03.2014 14:42
Графы.Определение смежных вершин по заданной матрице Solnce90 Паскаль, Turbo Pascal, PascalABC.NET 1 28.06.2011 21:23