Bonsoir,
Je suis entrain de coder la en pascal un algo qui serviré a modeliser un graphe routier (pour l'instant 8 villes seulement pour la partie test) et a trouver tous les chemins entre 2 sommets A et B.
Le graphe est représenté par une matrice d'adjacence 8*8 (la diagonale vaut 0 et les connexions inéxistantes valent -1), sauf que je bute complétement sur ce point.
J'ai pensé au parcours en profondeur (DFS) utilisant les piles, ou bien un truc récursif (BFS), sauf que je sais pas trop comment l'implémenter en pascal.
Voila ma source pour l'instant : elle n'explore qu'une toute petite partie du graphe
Merci de m'aider car je sèche vraiment la !!
Encore merci !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 procedure enumeration(var VD,VA: integer); //VD,VA : ville départ et Ville arrivée var i,j: integer; begin for i:=VD to VA do begin for j:=VD to VA do if (T[i,j].distance<>-1) and (T[i,j].distance<>0) and (T[i,j].visited=false) then begin writeln(ntv(i),' -- ',ntv(j)); T[i,j].visite:=true; T[j,i].visite:=false; i:=j; end; writeln; end; readkey; end;
Partager