IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Prolog Discussion :

Parcours et création de liste


Sujet :

Prolog

  1. #1
    Membre régulier
    Inscrit en
    Juin 2004
    Messages
    118
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 118
    Points : 73
    Points
    73
    Par défaut Parcours et création de liste
    Bonjour,

    J'ai 2 listes :
    L1 = [1,2,3,4,5,6,7,8,9]
    L2 = [0,0,1,0,4,5,3,0,9]

    Je veux parcourir L2 et pour chaque élement de L2, vérifier si il est présent dans L1. Si OUI, le supprimer dans L1...
    Comment faire ? Car je viens de débuter dans ProLog est j'ai encore trop la philosophie de réfléxion iterative...

    Bien cordialement

    PJ :
    J'ai créer une fonction de suppression
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    supprimerElementListe(_,[],[]).
    supprimerElementListe(X,[X|L],L1) :- supprimerElementListe(X,L,L1).
    supprimerElementListe(X,[Y|L],[Y|L1]) :- supprimerElementListe(X,L,L1).

  2. #2
    Rédacteur/Modérateur
    Avatar de Trap D
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    4 942
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 4 942
    Points : 6 498
    Points
    6 498
    Par défaut
    Inspire toi du parcours des listes ici : http://pcaboche.developpez.com/article/prolog/listes/

    Tu as besoin d'un parcours de la liste L2, et pour chaque élément de L2, tu regardes s'il est dans les L1 et tu l'enlèves.

    Tu peux le faire à la main ou avec les fonctions SWI-Prolog adéquates, je te conseille dans un premier temps de le faire à la main pour comprendre le principe du parcours des listes.
    "La haine seule fait des choix" - Koan Zen
    "Il ne faut pas être meilleur que les autres, il faut être meilleur que soi." Albert Jacquard
    "Ceux qui savent où ils ont posé leur parapluie ne sont pas alcooliques." - pgibonne.
    Faites du Prolog, ça vous changera les idées !
    Ma page Prolog
    Mes codes sources commentés

    Mon avatar : La Madeleine à la veilleuse de Georges de La Tour

  3. #3
    Rédacteur
    Avatar de pcaboche
    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    2 785
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Singapour

    Informations forums :
    Inscription : Octobre 2005
    Messages : 2 785
    Points : 9 716
    Points
    9 716
    Par défaut
    Citation Envoyé par Thomus38
    Je veux parcourir L2 et pour chaque élement de L2, vérifier si il est présent dans L1. Si OUI, le supprimer dans L1...
    Et si tu veux, à titre d'exercice, réécrire le prédicat subtract/3, il faudra le faire en utilisant le prédicat memberchk/2 (que tu peux également réécrire à titre d'exercice).
    "On en a vu poser les armes avant de se tirer une balle dans le pied..."
    -- pydévelop

    Derniers articles:

    (SQL Server) Introduction à la gestion des droits
    (UML) Souplesse et modularité grâce aux Design Patterns
    (UML) Le Pattern Etat
    Autres articles...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Souci avec création de liste
    Par talggir dans le forum Général VBA
    Réponses: 2
    Dernier message: 29/04/2007, 19h12
  2. [Oracle] Création de liste déroulante
    Par CYCLOPE91440 dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 14/12/2006, 16h25
  3. création bean liste
    Par the_ugly dans le forum JSF
    Réponses: 2
    Dernier message: 06/12/2006, 11h24
  4. Réponses: 2
    Dernier message: 04/06/2006, 21h35
  5. [PHP-JS] Création de liste déroulante dynamique
    Par eeckhout dans le forum Langage
    Réponses: 2
    Dernier message: 28/02/2006, 13h41

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo