2011-08-08 11 views
9

Quiero escribir un programa que calcula una función matemática determinada (por el usuario) con un conjunto específico de valores.implementación de las funciones de cálculo, es decir, f (x), en la programación

Al usuario se le pide que escriba una función, digamos que escribió f (x) = (x^2) + 3x + 1 y luego a través del programa debería mostrar las salidas de [f (3), f (6) yf (9)].

La pregunta es, específicamente, cómo obtener estas x en la función tipeada, y luego cómo convertir la función de una cadena a una doble o flotante.

¿Tiene alguna idea al respecto?

suponen que estoy usando C o C++

+0

duplicado Posible de http://stackoverflow.com/questions/1151127/evaluating -Matemáticas-expresiones y http://stackoverflow.com/questions/5115872/what-is-the-best-way-to-evaluate-mathematical-expression-in-c – lhf

Respuesta

2

Esto no es una tarea fácil, sobre todo porque los operadores tienen precedencia sobre los demás.

Tener un vistazo a algunos de estos enlaces para ver lo que está tratando con:

Equation (expression) parser with precedence?

http://en.wikipedia.org/wiki/Operator-precedence_parser

+0

loool, me acabo de dar cuenta de lo difícil que es la tarea. Realmente me siento como un estúpido adolescente: D. thx amigo. – Fahd

+0

No es un mal proyecto a largo plazo, sin embargo, si está dispuesto a poner algún tipo de compromiso con él. – kibibyte

Cuestiones relacionadas