Pour compléter :
if((m[s,i]=1)||(m[i,s])=1 )&& (visite[i]=0))
Cette ligne est fausse.
- m est un tableau à deux dimensions. Les éléments sont accessibles par m[s][i], pas par m[s,i]
- Si c'est une comparaison que tu veux faire, la comparaison se fait avec == pas avec un simple = qui fait une assignation.
Tu dois avoir dans ce cas
if((m[s][i]==1)||(m[i][s])==1 )&& (visite[i]==0))
Bien entendu, ceci ne peut pas marcher puisque les tableaux m et visite ne sont pas initialisés.
Attention à la priorité des opérateurs || et &&. Cette ligne équivaut à :
if( (m[s][i]==1) || ( (m[i][s])==1 )&& (visite[i]==0) ) )
- Si c'est effectivement une assignation que tu souhaites réaliser (ce que je ne crois pas), alors la ligne est équivalente à m[s][i]=1 , l'évaluation étant limitée à cette expression (qui donne VRAI pour l'ensemble de l'expression dans le if)
Partager