Bonjour,
Je dois faire une fonction qui construit, à partir d'une liste, une liste sans les éléments qui commencent par une lettre donnée, en utilisant les fonctions 'string' et 'char' comme par exemple :
Voila ce que j'ai fait pour l'instant :
Code : Sélectionner tout - Visualiser dans une fenêtre à part (supprime'n '(art nez pied nez prendre silence nu)) => (art pied prendre silence)
Mais il me retourne :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 (defun supprime (x list) (cond ((not list) nil) ((equal (char (string (car list))0) #\X)(supprime (char (string(cdr list))0)#\X) (t (cons (char (string (car list))0)#\X) (supprime (char(string (cdr list))0)#\X) ) )
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 (supprime 'r '(ri de me)) NIL
j'ai fait aussi :
mais il me retourne :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 (defun supprime (r list) (cond ((not list) nil) ((equal (char (string (car list))0) #\R)(supprime r (cdr list))) (t (cons (car list) (supprime r (cdr list)))) ) )
Qu'est ce que j'ai fait de mal ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 (supprime 'd '(ri de me)) (DE ME) (supprime 'm '(ri de me)) (DE ME)
Partager