|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||||
|
Futur Membre du Club
![]() Inscription : mai 2008 Messages : 154 ![]() |
Voila ca fait une 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 :
voila ce que j'ai pondu mais ca ne marche pas merci de m'expliquer Code :
|
||||
|
|
00
|
|
|
#2 | ||
|
Membre régulier
![]() Inscription : juin 2002 Messages : 158 ![]() |
Vérifier le type d'entité dans une liste:
Code :
|
||
|
|
00
|
|
|
#3 | ||
![]() ![]() Inscription : septembre 2003 Messages : 4 435 ![]() |
Compare les adresses de tous les éléments de la liste avec l'adresse de son premier élément? Le processus s'arrête dans deux cas : tu parcours la liste en entier (cdr = '()) et ta liste n'est pas circulaire, ou l'égalité réussit et là, la liste est circulaire.
ça ne marche que si le "dernier" élément de la liste est rebranché sur le premier élément de cette liste. Tu peux aussi parcourir ta liste en mémorisant les adresses et à chaque nouvelle adresse tu vérifie qu'elle n'existe pas déjà avant de l'insérer. ton code Code :
__________________
"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 |
||
|
|
00
|
|
|
#4 |
|
Futur Membre du Club
![]() Inscription : mai 2008 Messages : 154 ![]() |
ok merci
mais comment faire pour que frst garde l'adresse du premier element c'est moi qui tourne en rond et pas liste |
|
|
00
|
|
|
#5 |
![]() ![]() Inscription : septembre 2003 Messages : 4 435 ![]() |
As-tu entendu parler de let ???
Le problème est que je connais la syntaxe de Scheme mais plus très bien celle du LISP. Les deux langages sont semblables mais diffèrent cependant Quel LISP as-tu ?
__________________
"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 |
|
|
00
|
|
|
#6 |
|
Futur Membre du Club
![]() Inscription : mai 2008 Messages : 154 ![]() |
Merci pour ton aide
Non n'avons pas encore la fonction let donc je crois devoir m'en servir |
|
|
00
|
|
|
#7 |
|
Futur Membre du Club
![]() Inscription : mai 2008 Messages : 154 ![]() |
je voulais que je ne dois pas m'en servir
la version de lisp est 2.44.1 |
|
|
00
|
|
|
#8 | |||
|
Nouveau Membre du Club
![]() Inscription : juillet 2010 Messages : 31 ![]() |
Citation:
Code :
(vl-some '(lambda(x) (=(type x) 'list)) liste) |
|||
|
00
|
|
|
#9 | ||
![]() ![]() Inscription : septembre 2003 Messages : 4 435 ![]() |
Patrick_35 >> Tu pourrais expliquer ? Tu as testé ? Je ne crois pas vl-some se retrouve dans tous les lisp à part celui d'autocad.
djbad>> Il faut faire une fonction qui compare les éléments d'une liste a un element donné : Typiquement tu peux faire Code :
__________________
"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 |
||
|
|
00
|
|
|
#10 | ||
|
Nouveau Membre du Club
![]() Inscription : juillet 2010 Messages : 31 ![]() |
Citation:
Extrait de l'aide d'Autocad Citation:
Désolé si ce n'est pas le cas. Pas toujours facile de deviner. @+ |
||
|
00
|
|
|
#11 |
![]() ![]() Inscription : septembre 2003 Messages : 4 435 ![]() |
C'est vrai qu'il faudrait préciser dans le titre du sujet si c'est du Common Lisp ou de l'Autocad, je crois qu'il y a des fonctions spécialisées pour AutoCad (justement celle qui commencent par vl- je crois).
__________________
"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 |
|
|
00
|
|
|
#12 | |||
|
Futur Membre du Club
![]() Inscription : mai 2008 Messages : 154 ![]() |
Citation:
je dois faire 2 fonctions c'est ça |
|||
|
|
00
|
|
|
#13 |
![]() ![]() Inscription : septembre 2003 Messages : 4 435 ![]() |
Pour moi oui, si tu ne connais pas le let.
La première, je te l'ai donnée.
__________________
"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 |
|
|
00
|
|
|
#14 | ||
|
Futur Membre du Club
![]() Inscription : mai 2008 Messages : 154 ![]() |
en fait je suis rester sur fonction
ca marche à quelque détail Code :
ou que ma liste n'est pas circulaire au début mais du genre (a b c b c b c...) merci pour ton aide |
||
|
|
00
|
|
|
#15 |
![]() ![]() Inscription : septembre 2003 Messages : 4 435 ![]() |
Si ta liste n'est circulaire qu'à partir d'un certain rang, il faut mémoriser tous les éléments visités.
__________________
"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 |
|
|
00
|
|
|
#16 | ||
|
Futur Membre du Club
![]() Inscription : mai 2008 Messages : 154 ![]() |
Bonjour je relance le sujet comme j'essaie de m'améliorer
tu m'avais parler de la fonction let comme je suis en train de la voir en ce moment j'aimerais approfondir donc j'ai essayé de revoir ma fonction mais je patauge Code :
|
||
|
|
00
|
Copyright © 2000-2013 - www.developpez.com