edge(a,b).
edge(a,c).
edge(b,c).
edge(c,e).
edge(c,d).
edge(d,e).
edge(f,g).
edge(g,h).
allways(X,Y) :- edge(X,Z), allways(Z,Y), write(Z).
allways(X,Y) :- edge(X,Y), write(Y).
moyens (a, e) est censé imprimer toutes les manières d'un à e, ce code permet de résoudre le problème, mais l'imprimer en arrière .. des conseils sur la façon de rendre le programme imprimer les solutions dans l'ordre correct?Prolog - programme résoudre la question mais à l'envers
sortie est en ce moment:
ways(a,e).
edcb
true ;
ecb
true ;
edc
true ;
ec
true ;
false.
EDIT: Ive a essayé
allways(X,Y) :- edge(X,Z), write(Z), allways(Z,Y).
allways(X,Y) :- edge(X,Y), write(Y).
et la sortie a très bizarre, et je ne comprends pas pourquoi.
?- allways(a,e).
bcedee
true ;
e
true ;
cedee
true ;
e
true ;
false.
Il a corrigé le problème de sortie en arrière mais à la place la sortie devient vraiment bizarre, haha .. – Frans
@Frans, combien bizarre? – Armatorix
Probablement besoin de changer l'ordre des fonctions 'allways', va vérifier plus tard. – Armatorix