Bonjour,
Je voudrais créer une fonction qui construit, à partir d'une liste de nombres, la liste des nombres plus petits ou égaux qu'un nombre donné, comme par exemple :
Voila ce que j'ai fait pour l'instant :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 (inf 12 '(3 5 15 12 24 2 35)) => (3 5 12 2)
Mais il me retourne :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 (defun inf (n l) (cond ((not l) nil) ((>= (car l) n) (inf n(cdr l)))) (cons(car l)(inf n(cdr l))) ))
J'ai essayer de modifier un peu, en rajoutant des "cons" :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 - Program stack overflow. RESET
Mais c'est toujours pas ça :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 (defun inf (n l) (cond ((not l) nil) ((>= (car l) n)(cons n(inf n(cdr l)))) ((car l)(inf n(cdr l))) ))
ce que je voudrais c'est
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 (inf 4 '(1 2 3 4 5 6)) (4 4 4)
Qu'est - ce que l'ai loupé ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 (inf 4 '(1 2 3 4 5 6)) (4 5 6)
Partager