ayuda porfavor es urgente

Iniciado por firius2010, 21 Marzo 2012, 22:56 PM

0 Miembros y 1 Visitante están viendo este tema.

durasno

Hola firius2010! Es verdad como dicen todos el problema q planteas es bastante complicado pero como todo nada es imposible. El problema es cuanto sabes vos, lo primero que se me ocurre es con funciones como strpbrk( para buscar una subcadena en otra), strtod ( para convertir el numero de la cadena en double), tambien podria servir la funcion issdigit
Lo pasos seria algo asi:
1º pedir la formula al usuario
2º pedir el valor de 'x'
3º reemplazar la 'x' en la formula
4º Convertir el primer numero de la ecuacion a su representacion numerica(lo mas probable sea q se tenga q almacenar en una variable auxiliar)
5º Si se encuentra una operacion,* / -  +, tambien lo mas conveniente seria almacenarla
6º repetir pasos 4 y 5 hasta q sea fin de la cadena
7º imprimir resultado
Ahorrate una pregunta, lee el man

$Edu$

Pero esque es mas complicado que eso, cuando hay parentesis se complica todo, te digo porque yo lo hice. Fijate cuando pongan una ecuacion con parentesis y todo, se tiene que hacer primero lo del parentesis para despues hacer lo demas y todo asi es complicado xD

Si de verdad es eso lo que tienes que hacer y te dieron mucho tiempo para hacerlo te puedo detallar todo como lo hice, luego tu le implementas en C++ cosa que yo no se.

nirvguy

Usa Bison y Lex se hace más rápido.
Todas mis letras han sido pedazos de poesía y los pedazos de poesía se toman de poemas que comúnmente no tienen sentido
en primer termino.
               Kurt Cobain

Xandrete

#13
Cita de: nirvguy en 22 Marzo 2012, 19:01 PM
Usa Bison y Lex se hace más rápido.

Por otro lado, si nos apartamos de C/C++, también hay lenguajes de programación como el de Matlab que te permiten hacer un eval sobre una cadena de carácteres y entonces pasan el contenido de esa cadena al intérprete. Diría que con Python tienes algo parecido. Si puedes usar alguno de estos lenguajes, podrías hacer esto en un periquete.

Cita de: durasno en 22 Marzo 2012, 18:08 PM
Hola firius2010! Es verdad como dicen todos el problema q planteas es bastante complicado pero como todo nada es imposible.

¡Claro que no es imposible! De hecho, es lo que hace el intérprete del Python, por ejemplo (que se puede usar como una simple calculadora). Sin embargo, para que el usuario que ha iniciado este post se haga una idea de lo que se puede complicar este programa, le sugiero realizar el siguiente problema, que es una versión mucho más suave de éste que nos plantea: https://www.jutge.org/problems/P45102_en

Saludos

P.S. Ah, y otra cosa que se me olvidó comentar e el anterior post. También sugiero usar títulos más descriptivos para sus temas en el foro. "ayuda porfavor es urgente" está muy manido y no ofrece ninguna información de antemano que motive a leerlo. Además es antiestético ver un puñado de temas con nombres de este estilo.