1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| %recup/3
% recup(ListeAetudier,Liste1,Liste2)
% ListeAetudier = la liste que l'on souhaite traiter
% Liste1 = La liste n caractères identiques au premier
% Liste2 = La liste restante
recup([X|L],L1,L2) :-
recup(L,L1,L2,[X],X).
% recup/5
% recup(ListeAetudier,Liste1,Liste2,Temp,Valeur)
% ListeAetudier = la liste que l'on souhaite traiter
% Liste1 = La liste n caractères identiques au premier
% Liste2 = La liste restante
% Temp = Le tampon pour former Liste1
% Val = La première valeur servant de comparaison
recup([],A,[],A,B).
recup([X|L],[X|Pile],K,Pile,Cri):- X = Cri,Pile2=[X|Pile], recup(L,F,K,Pile2,Cri),!.
recup([X|L],A,B,Pile,Cri):-not(X=Cri),A = Pile, B=[X|L],!. |
Partager