bonjour voila mon probleme:
je possede une liste et je veux connaitre le minimum sans prendre en compte le 0 si il y en a un. voici ce que j'ai fait:
il me donne par exemple: ici ca marche
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 % minimum entre 2 entiers aux_minimum1(X,Y,X) :- X =< Y . aux_minimum1(Y,X,X) :- X =< Y. % % minimum1(D,[D]). minimum1(X,[A|B]):- (A=0 -> minimum1(X,B) ; minimum1(Y,B), aux_minimum1(A,Y,X) ).
mais des que le 0 est en derniere possition il me donne
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 11 ?- minimum1(Min,[0,3,2]). Min = 2 ; No
alors que je voudrai:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 12 ?- minimum1(Min,[1,3,0]). Min = 0 ; No
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 12 ?- minimum1(Min,[1,3,0]). Min = 1 ; No
Partager