Je pense que c'est ok.
Le terme 'avancé' n'est pas celui que j'aurais choisis. J'utiliserais plutot découper.
L'écriture [ X | L2 ] avec la barre indique que la liste donnée au départ est...
Type: Messages; Utilisateur: vicnet
Je pense que c'est ok.
Le terme 'avancé' n'est pas celui que j'aurais choisis. J'utiliserais plutot découper.
L'écriture [ X | L2 ] avec la barre indique que la liste donnée au départ est...
Ca aurait été mieux, je pense, car plus loin tu marques L2=[1,2,3] et ca c'est pas bon.
L1 vaut [1,2,3] le 1er coup et X vaut 1 donc elt[1,[1,2,3]) est OK.
Pour le 2ième coup, tu fais erreur...
Un coup tu écris, L1 L2
L1 L2
permut([1,2,3],[1|2,3]):-elt(X,L1),enlève(X,L1,L3),permut(L3,L2).
et l'autre coup, L1 [X|L2]
L1 ,[X|L2]...
En fait, je me suis mal exprimé.
C'est sur permut([2,3],[1,2,3]) de ton quote que je voulais intervenir.
Forcement, ce prédicat est faux comme tu le signalais.
Mais ce n'est pas ce qu'on...
L1 L2
permut([1,2,3],[1|2,3]):-elt(X,L1),enlève(X,L1,L3),permut(L3,L2).
réponse : oui , L3=[2,3] ,permut([2,3],[1,2,3]).
Attention, c'est [Y|L2] qui est noté...
C'est en effet un raccourcis, on passe bien par la regle 1 d'abord mais comme elle ne matche pas, la liste L3 ayant une valeur non vide, elle est rejetée et passe directement à la regle 2 qui matche....
En fait, dans les exemples donnés, mon supprime est mal utilisé.
Je l'ai prévu pour répondre à :
supprime(Liste,Element,ListeSansElement).
Element est en 2ième pos.
Visiblement, vous etes...
En effet, ya bien un euh ;-)
Le pb vient de 'enleve' qui supprime toutes les valeurs identiques !
Du coup, en écrivant un enlève correct, on a:
supprime([X|L],X,L) :- !....
Bonjour,
Je trouve le code cité bien compliqué.
En français, la permutation est définie simplement en disant qu'un élément de la liste se trouve quelque part dans l'autre liste.
Pour coder,...
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.