-
le max d'une liste
salut, je débute en lisp et j'aimerai écrire une fonction qui permet de retourner le plus grand élément d'une liste de nombres mais je n'arrive pas à l'écrire(idée:j'arrive à écrire une fonction qui permet de retourner le plus grand entier parmi deux et je pense à l'utiliser ici)
si quelqu'un peut m'aider à le faire,ça sera génial.
De plus si vs pouvez m'orienter vers des exercices corrigés sur les listes et leur manipulation ça pourra m'aider,merci.
-
Bienvenue sur Développez :)
J'imagine que tu ne cherches pas la solution mais une aide. Est-ce l'algorithme qui te gêne, ou programmer l'algorithme ? Je vais supposer que c'est le premier cas...
Pour trouver le plus grand élément d'une liste quelconque, il suffit de faire comme tu le ferais toi-même. Imagine que tu as une grande liste de nombre (suffisament grande pour que tu ne puisses pas la retenir facilement en entier), que fais-tu pour trouver le plus grand élément ?...
Tu regardes les éléments un par un et chaque fois que tu en croises un plus grand que les tous les précédents, tu le retiens. Tu n'as besoin de comparer les éléments qu'à celui que tu retiens actuellement. Quand tu arrives à la fin de la liste, l'élément que tu retiens est le plus grand de la liste.
J'espère que c'est clair et que ça t'aide.
-
oui pour le principe algorithmique c clair mais écrire ça en lisp me parait un peu délicat ,comment je vais faire ce parcours et cette comparaison?j'ai réussi juste à écrire une fonction qui donne le plus grand élément parmi deux.si vs pouvez me donner un code ça m'aidera pour cette première fonction
merci
-
Tu peux t'inspirer des principes d'utilisation des listes, on a accès au premier élément de la liste ou au reste.
Fais un raisonnement analogue pour le max.
Considère le premier élément de cette liste et compare le au... (oui je sais je sui ch**nt ! :mouarf: )
-
mais tout ça je le connais et je peux le faire facilement avec n'importe quel autre langage mais là je me bloque avec le lisp,comment écrire ça en lisp?
-
-
Eh bien penche toi sur l'utilisation du let, ça peut servir ...