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 !!
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;
Encore merci !