December 12, 200520 yr Bonjour, j'ai crée une fonction Eval qui évalue,une expression (arbre) lorsque toutes les feuilles de l'arbre sont des réels (de type double). J'aimerais avoir une aide concernant la simplification de l'expression lorsque l'évaluation totale n'est pas possible. Je m'explique: si l'arbre est compose de + * 1 2 3 la fonction renvoie 5 mais si c'est + * 1 2 x la fonction renvoye 2+x Edited December 18, 200520 yr by Morpheus75
December 12, 200520 yr Typiquement? Tes types => BinOp (left, right), Constant (double), Variable (?) La fonction simplifiant : simplify(Expression e) : Expression Si arite(e) == 2 // opérateur binaire (left, right) Et operator(e) // e est un opérateur Alors Si e->left, e->right sont constants Alors f = Constant(eval(e)); // crée une constant en évaluant e Libere(e); // libère la mémoire, en C pas de GC! :) return f; FinSi; FinSi; return e; Paf paf donc.
Archived
This topic is now archived and is closed to further replies.