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

  1. #1
    Candidat au Club
    [Clisp] Fonction qui liste les nombres plus petits ou égaux à une valeur
    Bonjour,

    au fait je suis débutant dans clisp, j'ai suivi ce questionnaire d'un d'utilisateur qui est de définir une fonction qui construit, à partir d'une liste de nombres, la liste des nombres plus petits ou égaux qu'un,
    nombre donné ; exemple

    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    (inférieur 12 '(3 5 15 12 24 2 35)) => (3 5 12 2)


    Mais je m'en sorte vraiment pas cad j'ai pas le bon résultat, voici quelques lignes de ma codification
    "Aidez moi svp"

    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    (defun inf (n l)
    (cond
    ((not l) nil)
    ((>= (car l) n)(cons n(inf n(cdr l))))
    ((car l)(inf n(cdr l))) ))

  2. #2
    Membre averti
    Bonsoir,

    Voici une solution possible :

    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    (defun inferieur (n l)
       (cond ((not l) nil)
             ((<= (car l) n)
              (cons (car l) (inferieur n (cdr l))))
              (t (inferieur n (cdr l)))))


    En indentant le code, on voit un peu plus clair.

  3. #3
    Expert confirmé
    Citation Envoyé par Canvas Voir le message
    Bonsoir,

    Voici une solution possible :

    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    (defun inferieur (n l)
       (cond ((not l) nil)
             ((<= (car l) n)
              (cons (car l) (inferieur n (cdr l))))
              (t (inferieur n (cdr l)))))


    En indentant le code, on voit un peu plus clair.
    Surtout en mettant le t final à la même hauteur que le cons de la ligne précédente...

  4. #4
    Candidat au Club
    Clisp
    merci pour vos interventions, je vais essai et je reviendrai vers vous

  5. #5
    Candidat au Club
    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    (remove-if #'(lambda (x) (> x 12)) '(3 5 15 12 24 2 35))

###raw>template_hook.ano_emploi###