Fonction qui detecte circularité sous LISP
djbideboy
Messages postés
244
Date d'inscription
Statut
Membre
Dernière intervention
-
djbideboy Messages postés 244 Date d'inscription Statut Membre Dernière intervention -
djbideboy Messages postés 244 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Voila ca fait 2 semaine que je me prend la tete et je n'arrive pas à faire cet exo je dois créer une fonction qui détecte une circularité
Ecrire la fonction récursive circulaire qui détecte qu'une liste plate (sans sous-listes) est circulaire par son début.
Code :
(setq liste '(a b c))
(rplacd (cddr liste) liste)
(circulaire liste) => t
(circulaire '(a b c a b c)) => nil
Utilisez la fonction eq, qui compare deux adresses.
voila ce que j'ai pondu
mais ca ne marche pas
merci de m'expliquer
Code :
(defun circulaire (liste &aux frst)
(setq frst (car liste))
(atom (liste) nil)
(cond
((eq (cadr liste) frst) t)
((circulaire (cdr liste))) ))
je sais que ma fonction est fausse puisque la valeur frst change à chaque appel recursif
je ne dois utiliser la fonction let pour l'instant
Merci de m'aider c'est moi qui tourne en rond et non la liste
:( :(
Voila ca fait 2 semaine que je me prend la tete et je n'arrive pas à faire cet exo je dois créer une fonction qui détecte une circularité
Ecrire la fonction récursive circulaire qui détecte qu'une liste plate (sans sous-listes) est circulaire par son début.
Code :
(setq liste '(a b c))
(rplacd (cddr liste) liste)
(circulaire liste) => t
(circulaire '(a b c a b c)) => nil
Utilisez la fonction eq, qui compare deux adresses.
voila ce que j'ai pondu
mais ca ne marche pas
merci de m'expliquer
Code :
(defun circulaire (liste &aux frst)
(setq frst (car liste))
(atom (liste) nil)
(cond
((eq (cadr liste) frst) t)
((circulaire (cdr liste))) ))
je sais que ma fonction est fausse puisque la valeur frst change à chaque appel recursif
je ne dois utiliser la fonction let pour l'instant
Merci de m'aider c'est moi qui tourne en rond et non la liste
:( :(
A voir également:
- Fonction qui detecte circularité sous LISP
- Fonction si et - Guide
- Cle usb qui ne se detecte pas - Guide
- Fonction miroir - Guide
- Fonction moyenne excel - Guide
- Fonction remplacer sur word - Guide