3 / 3 / 0
Регистрация: 19.09.2012
Сообщений: 146
1

чтение графа заданного списком инцидентности (смежности) из файла

19.11.2012, 19:50. Показов 1641. Ответов 0
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте,
необходимо прочитать граф заданный списком инцидентности (смежности) из файла.

текст программы
Кликните здесь для просмотра всего текста

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
Program lab;
Const InitArray = 10;
Const FileName = 'lab.in';
Var
 NumberHeads : Integer;
Type List = ^Node;
 Node = Record
 Data : Word;
 Next : List;
End;
Type TypeGraph = Array [1..InitArray] Of List;
Var Graph : TypeGraph;
 
Procedure ShowGraph(Var Graph:TypeGraph; N:Integer);
Var
 I : Integer;
 BufferList : List;
Begin
 For I:=1 To InitArray Do Begin
  Write(I,' - ');
  BufferList:=Graph[I];
  BufferList:=BufferList^.Next;
  If BufferList = NIL Then Continue;
  While(BufferList^.Next<>NIL) Do Begin
   Write(BufferList^.Data,' ');
   BufferList:=BufferList^.Next;
  End;
  Write(BufferList^.Data,' ');
 End;
End;
 
Procedure ReadFile;
Var
 InputFile : Text; 
 ReadValue : word;
 BufferList : List;
begin
 Assign(InputFile, FileName);
 Reset(InputFile);
 NumberHeads := 1;
 New(BufferList);
 While Not Eof(InputFile) Do Begin
  Read(InputFile, ReadValue);
  If ReadValue <> 0 Then Begin
   BufferList^.Data := ReadValue;
   BufferList^.Next := NIL;
   Graph[NumberHeads]^.Next := BufferList;
   write(ReadValue,' ');
  End
  Else Begin
   Writeln(' ---- ',NumberHeads,' -----');
   NumberHeads := NumberHeads+1;
  End;
 End;
 Writeln;
 NumberHeads := NumberHeads-1;
 Close(InputFile);
end;
 
Procedure InitGraph(Var Graph:TypeGraph; N:Integer);
Var I:Integer;
Begin
 For I:=1 to N do begin
  New(Graph[I]);
  Graph[I]^.Next:=NIL;
 End;
End;
 
Begin
 InitGraph(Graph, InitArray);
 ReadFile;
 Show(Graph,NumberHeads);
 Writeln;
End.


файл lab.in содержит:
1 2 4 5 0 3 4 2 0 5 4 3
при чтении через процедуру ReadFile и выводе на экран процедурой ShowGraph получается:
1 - 3 2 - 3 3 - 3 4 - 5 - 6 - 7 - 8 - 9 - 10 -

Мне необходимо, чтобы получилось:
1 - 1 2 4 5 2 - 3 4 2 3 - 5 4 3

Цифра 0 - разделитель
Подскажите плиз, что не так

Добавлено через 1 час 30 минут
неужели никто не может помоч

Добавлено через 1 час 26 минут
исправил
не хаватало цикла
Pascal
1
2
 While (TempGraph^.Next<>NIL)
  DO TempGraph:=TempGraph^.Next;
1
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
19.11.2012, 19:50
Ответы с готовыми решениями:

Перевод из фактор множества в матрицу смежности и инцидентности
помогите пожалуйста составить блок схему для программы в паскаль АБС.нет Program Pr19; uses...

Графы. Ввод матрицы смежности, матрица инцидентности и список инцидентности неориентированного графа
Здраствуйте. Помогите пожалуйста, а то вообще не врубаюсь в это. Надо написать процедуры ввода...

Составьте матрицы смежности, инцидентности, весов для графа
вот ссылка для задания

По матрице инцидентности графа составить список инцидентности
Помогите пожалуйста. Проболел тему,задали программу сделать и не понимаю как ее сделать. По...

0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
19.11.2012, 19:50
Помогаю со студенческими работами здесь

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

Чтение графа из файла
Подскажите пожалуйста. Как ввести граф из файла? Допустим у меня есть текстовый файл с данными: ...

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

Функция DFS для графа, заданного списком смежности в main
Здравствуйте! Интересует такой вопрос. У меня есть граф, заданный списком смежности. Я хочу...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru