Questions / réponses

parameters_gen erreur particuliere

parameters_gen erreur particuliere

Cerutti Marc írta időpontban
Válaszok szám: 1

Bonjour,

J'ai la fonction parameters_gen qui me renvoie une erreur sur les arbres

Bin (9, Bin (1, Empty, Empty), Empty)
et
Bin (72, Bin (8, Bin (44, Empty, Empty), Bin (26, Empty, Empty)), Bin (40, Bin (9, Empty, Empty), Bin (93, Empty, Empty)))


Seulement lorsque je fait des prédicats divers dessus, la fonction marche normalement.

Je soupçonne du coup que c'est un cas particulier mais je n'arrive pas à mettre la main de où peut venir le problème, si c'est le predicat ou quel résultat est faux.

Je mettrai mon code si besoin.


Merci.


Válasz erre: Cerutti Marc

Re: parameters_gen erreur particuliere

Zeitoun Marc írta időpontban

Il y a une erreur au moins sur la dernière composante :

parameters_gen (fun x -> x = 9 ) (Bin (9, Bin (1, Empty, Empty), Empty));;

- : int * int * int * int * int * int = (1, 0, 1, 0, 0, 0)

La dernière composante est la longueur de la plus longue branche qui contient au moins un noeud vérifiant p. Ici, la branche 9--1 est de longueur 1 (elle a une arête) et contient 9 qui vérifie p. Comme il n'y a pas de branches plus longues, la dernière composante doit être 1 sur cet exemple.

Il faut donc réfléchir à la valeur de cette composante lorsque l'étiquette de la racine vérifie le prédicat.

Les tests sont faits avec la fonction fun x -> x mod 3 = 0 (ça peut aider pour les rejouer).