p
u
b
l
i
c
i
t
é
publicité
  1. #1
    Invité de passage
    Homme Profil pro
    Étudiant
    Inscrit en
    juillet 2012
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Distribution

    Informations forums :
    Inscription : juillet 2012
    Messages : 6
    Points : 4
    Points
    4

    Par défaut append sous-liste vers liste

    Bonjour à vous,*

    j'arrive pas à trouver ce qui manque sur cette fonction !!
    j'ai une liste (a b ( c (d) (e) (f))(g) nil) et je voulais mettre cette liste en une seule liste sans les sous-liste , (a b c d e f g nil)
    j'ai cette fonction :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    (defun seul (liste)
      (cond
        ((not liste) nil)
        ((listp (car liste)) (append (car liste) (seul (cdr liste))))
        (t (cons (car liste)(seul (cdr liste))))))
    Le problème, ce que quand il y a plusieurs listes imbriquées, la fonction ne s’occupe que d’un seul niveau
    (seul '(a b (c (d) (e) (f))(g) nil))
    (A B C (D) (E) (F) G) alors j'obtiens ça, au lieu de (A B C D E F G NIL)

  2. #2
    Rédacteur/Modérateur
    Avatar de Trap D
    Inscrit en
    septembre 2003
    Messages
    4 657
    Détails du profil
    Informations forums :
    Inscription : septembre 2003
    Messages : 4 657
    Points : 5 910
    Points
    5 910

    Par défaut

    Ce n'est pas testé mais je ferais ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    (defun seul (liste)
      (cond
        ((not liste) nil)
    
        ((listp (car liste)) (append        (seul (car liste))               (seul (cdr liste))))
    
        (t (cons (car liste)(seul (cdr liste))))))
    "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 : Intérieur avec jeune femme de Vilhelm Hammershoi

  3. #3
    Invité de passage
    Homme Profil pro
    Étudiant
    Inscrit en
    juillet 2012
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Distribution

    Informations forums :
    Inscription : juillet 2012
    Messages : 6
    Points : 4
    Points
    4

    Par défaut

    Oui tout simplement il teste le chaque car de liste , meme les liste impbriqué
    j'ai testé et ça marche a part qu'il prend pas le NIL de la fin !!
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    (defun seul (liste)
      (cond
        ((not liste) nil)
    
        ((listp (car liste)) (append (seul (car liste))(seul (cdr liste))))
    
        (t (cons (car liste)(seul (cdr liste))))))
    (seul '(a b (c (d) (e) (f))(g) nil))

    (a b c d e f g ) sans le NIL

  4. #4
    Expert Confirmé Sénior

    Inscrit en
    novembre 2005
    Messages
    5 145
    Détails du profil
    Informations forums :
    Inscription : novembre 2005
    Messages : 5 145
    Points : 6 829
    Points
    6 829

    Par défaut

    NIL c'est une liste vide...
    Les MP ne sont pas là pour les questions techniques, les forums sont là pour ça.

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

Discussions similaires

  1. [XL-2003] Ctrl C / Ctrl V Spécial (Valeurs) d'un sous total d'une liste vers une autre feuille
    Par graphikris dans le forum Macros et VBA Excel
    Réponses: 43
    Dernier message: 18/05/2013, 15h39
  2. Liste de listes vers matrice
    Par anizlewan dans le forum Général Java
    Réponses: 1
    Dernier message: 03/08/2012, 14h13
  3. Regrouper une liste en liste de listes
    Par West01 dans le forum Prolog
    Réponses: 12
    Dernier message: 14/03/2008, 14h07
  4. données sous frome de liste
    Par nah_wah dans le forum Fichiers
    Réponses: 4
    Dernier message: 15/12/2005, 17h21
  5. Réponses: 10
    Dernier message: 30/01/2005, 20h53

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