Buenas a todos!!!!!!!!!!!
Acabo de caer en este tema del foro por casualidad. Cosas de la vida.
Me ha parecido interesante lo de plantear problemas. Habitualmente programo en C y ahora me estoy metiendo en el mundo de POO con C++.
Bueno, presentaciones a parte, hace poco, en el foro de C++ me he topado con un problema que desde hace tiempo (como buen proyecto de matematico que soy) me carcome la conciencia y ultimamente no me deja dormir. (Hay que ver lo exajerao que soy
)
Estoy haciendo mis experimentos sobre el tema, pero la verdad, no se si por falta de organizacion de ideas o por falta de experiencia, me estoy volviendo loco.
Bueno ya voy al grano y expongo el problema.
Se trata de una vez habiendo leido desde el teclado un expresion matematica de una funcion (composicion y operaciones algebraicas con funciones elementales), pasarla a la forma prefija.
Por ejemplo:
cos( 2*x + 3) + sqrt( 1/x * log( x^3 / (x^2 -3) ) )
pasaria a ser:
+( cos( +( *(x,2) , 3) ) , sqrt( *(/(1,x), log( /( ^(x,3) , -( ^(x,2) , 3 ) ) ) ) ) )
(No se si me he dejado algun parentesis pero creo que se pilla la idea.
)
Se que para el proceso se utilizan pilas, y de echo las estoy utilizando, pero poco mas se sobre el tema.
En este momento no dispongo del codigo que estoy desarrolando. Si os interesa el tema lo cuelgo, y si hay ideas propongo que las pongamos en pseudocodigo para que mas o menos se pueda adaptar a cualquier lenguaje.
Aqui dejo el envite, para el que le gusten las matematicas, tratar las cadenas de caracteres y/o engancharse con problemas curiosos.
Un saludo: Eliptico.