Hola amigos tengo la necesidad de programar en C# un evaluador de expresiones ke abarke suma, resta, multiplicacion division y parentesis, lo cual debe ser usando arboles, por ejemplo, el usuario introduce lo siguiente:
a=4;
b=5;
c=3;
f(x)=(a+b)*c;
write f(x);
y el sofware debe ser capaz de evaluar esa expresion y devolverte 27, para eso se debe usar arboles para establecer la prioridad de los signos y demas, si alguien me puede ayudar en algo me seria de mucha utilidad su ayuda.
sin mas
un amigo cubano
yanser
las formas sencillas de hacerlo seria:
la primera que uses if's anidados
la segunda que programes las funciones tu ydes al user escoger una, asi lo programas desde antes...
si tienes duda en como armarlo postea..
Komtec1
gracias amigo, pense en algo similar, pero lo ke me van a evaluar es usando arbol binario, si tienes algo con lo ke me puedas ayudar seria genial!!!!
saludos
yanser
Quote from: Komtec1 on November 20, 2006, 06:09:12 PM
las formas sencillas de hacerlo seria:
la primera que uses if's anidados
la segunda que programes las funciones tu ydes al user escoger una, asi lo programas desde antes...
si tienes duda en como armarlo postea..
Komtec1
por que no usas el metodo de la burbuja, para ordenar las expresiones, dices que te calificaran arbol binario si tienes algo postealo que aqui acabamos el code....
Komtec1
gracias Komtec1, dejame ver ke puedo hacer, es ke va a ser algo bien dinamico pues tiene ke funcionar con expresiones sencillas y todo lo compleja ke te la pongan, comprendes:?? de todos modos gracias por la ayuda, voy a intentar algo, de todos modos si encuentran algo ke me sirva, seria de mucha utilidad
[email protected]yanser
Quote from: Komtec1 on November 23, 2006, 02:23:35 PM
por que no usas el metodo de la burbuja, para ordenar las expresiones, dices que te calificaran arbol binario si tienes algo postealo que aqui acabamos el code....
Komtec1
Yo hice un lengauje script en VB y lo hice a base de funciones ke diseƱe para el "Filtrado" de las opciones....
Supongo ke no te servira, pero si tienes dudas sobre esto pregunta... ;) ;)