J'ai écrit une fonction pour obtenir la valeur maximale d'une liste de listes imbriquées, j'ai la forme générale de la fonction vers le bas à droite; il fonctionne sur des listes plates et des listes imbriquées mais semble échouer lorsqu'il existe des listes imbriquées jumelées.Schéma max sur les sous-listes
Voici mon code:
(define (multi-max array)
(cond
((null? array) 0)
((number? (car array))
(if (> (car array) (multi-max (cdr array)))
(car array)
(multi-max (cdr array))))
((pair? (car array))
(multi-max (car array)))
(else
(multi-max (cdr array)))))
Voici une liste de test qu'il échoue sur: (multi-max '(1 9 83 9 (332 (334) (2 3 4224))))
Je ne sais pas où je vais mal, logiquement, l'aide serait bien !
Ce problème est absolument mendiant pour l'application de la recette de conception (voir http://www.htdp.org/). Plus précisément: quelle est la définition des données pour votre entrée? –