Tri à bulles en caml
Résolu/Fermé
Sara426
Messages postés
678
Date d'inscription
mardi 6 octobre 2009
Statut
Membre
Dernière intervention
16 décembre 2015
-
16 avril 2011 à 15:38
Sara426 Messages postés 678 Date d'inscription mardi 6 octobre 2009 Statut Membre Dernière intervention 16 décembre 2015 - 16 avril 2011 à 22:40
Sara426 Messages postés 678 Date d'inscription mardi 6 octobre 2009 Statut Membre Dernière intervention 16 décembre 2015 - 16 avril 2011 à 22:40
3 réponses
KX
Messages postés
16752
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
31 août 2024
3 019
16 avril 2011 à 17:37
16 avril 2011 à 17:37
Lorsque tu fais tri_bulle_bis f (List.tl l) (List.hd l), l'élément (List.hd l) n'est pas une liste mais un élément de liste. Ecris le [List.hd l] ça devrait mieux marcher...
Sara426
Messages postés
678
Date d'inscription
mardi 6 octobre 2009
Statut
Membre
Dernière intervention
16 décembre 2015
63
16 avril 2011 à 17:56
16 avril 2011 à 17:56
Exact ca a marché. Merci beaucoup
Mais j'ai un autre problème maintenant. Il oublie certains éléments de la liste.
# tri_bulle (<) [5;6;7;1;2;9] ;;
- : int list = [1; 2; 7; 9]
Mais j'ai un autre problème maintenant. Il oublie certains éléments de la liste.
# tri_bulle (<) [5;6;7;1;2;9] ;;
- : int list = [1; 2; 7; 9]
KX
Messages postés
16752
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
31 août 2024
3 019
16 avril 2011 à 18:20
16 avril 2011 à 18:20
Je te conseilles d'utiliser #trace pour débugger, et éventuellement consulter cet article : Déboguer un programme en Caml pour voir comment bien s'en servir avec des fonctions polymorphes...
KX
Messages postés
16752
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
31 août 2024
3 019
Modifié par KX le 16/04/2011 à 18:36
Modifié par KX le 16/04/2011 à 18:36
Remarque : il suffit dans ton cas d'imposer temporairement f pour avoir un #trace compréhensible
let rec tri_bulle_bis (f:int->int->bool) l a = ... ;; #trace tri_bulle_bis;;
Sara426
Messages postés
678
Date d'inscription
mardi 6 octobre 2009
Statut
Membre
Dernière intervention
16 décembre 2015
63
16 avril 2011 à 22:40
16 avril 2011 à 22:40
Merci c'est bon, j'ai trouvé.
Juste une erreur de lettre entre le a et le s dans le if-then-else.
Merci pour ta fonction trace c'est super pratique.
:D
Juste une erreur de lettre entre le a et le s dans le if-then-else.
Merci pour ta fonction trace c'est super pratique.
:D