C/Visual C - problema taductor sufijo2infijo

 
Vista:

problema taductor sufijo2infijo

Publicado por cucuhuevo (1 intervención) el 14/04/2006 12:41:04
Mi problema, es bastante largo en cuestión. Soy programador de C novato, estudio ingeniería informática y estoy en 1º de carrera, asíque no se prácticamente nada.

El caso es que se nos ha pedido realizar un programa driver traductor de expresiones sufijo a infijo y de expresiones infijo a sufijo, mediante el uso de una pila.

Una vez que consiga sacar infijo2sufijo, sacaría el resto, pero me he atascado ahí, llevo toda la semana pegándome con ello y no consigo sacarlo.

El problema es que la pila, almacena punteros a char, y mi programa, cuando hace una traducción parcial, mete esa traduccion parcial con un puntero que se llama pValor. Cuando el bucle realiza una traduccion parcial, antes de haber extraido de la pila otra traduccion parcial que tenga anterior metida en la pila, como el contenido de pValor se modifica para la nueva traduccion parcial y la pila no guarda el contenido de una cadena, si no un puntero, al modificarse pValor, me modifica, dentro de la pila, los datos almacenados como pValor.

¿Esto podría solventarse mediante una reserva dinámica de memoria para la pila?

¿Si es así, alguien puede explicarme como y en que consiste la reserva de memoria dinámica?

El código necesita de varios archivos, por eso no lo he publicado aquí, pero si alguien quiere echarle un vistazo, que me lo diga y le paso todo el Workspace, con el código comentado donde me falla.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:problema taductor sufijo2infijo

Publicado por Erick (92 intervenciones) el 14/04/2006 17:39:10
El problema es que estas guardando en la pila el valor del apuntador y no el valor que tiene la direccion a la que apunta

Ejemplos:
Pila=*apuntador; (guardas lo que contiene la direccion a la que apuntas)
Pila= apuntador; (guardas la direccion a la que apunta)

Suerte

Erick Rios
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar