Salut !
Je suis occupé avec le développement d'un prog qui doit tester les propriétés d'un graphe.
Et je cale sur l'algo de la connexité.
J'ai trouvé ceci :
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
20
21
22
23
24
25
26
27
28
29
30
31
32
33 const n = 8; type t_tableau=array[1..n] of boolean; var marquer : t_tableau; procedure marquerSommets(s : integer); var i : integer; begin marquer[s] := True; for i:=1 to n do begin if ((marquer[i]=False) AND (graphe[s][i]=1)) then begin marquerSommets(i); { Appel recursif ! } end; end; end; function estConnexe : boolean; var i:integer; begin for i:=1 to n do marquer[i]:= False; marquerSommets(1); result := True; for i:=1 to n do begin if marquer[i]= False then begin result := False; end; end; end;
Mais le problème est qu'il n'est pas correct dans certains cas, comme ici par exemple :
Il zappe la 2eme ligne !0 0 1
0 0 1
0 0 0
Est-ce que c'est normal ?
![]()
Partager