Da IN a RPN
Il problema è semplicissimo.
Come converto l'espressione $(5+3)+(4+5)*3+1+10$$/2$ $=41$
Quando trovo un operando lo restituisco immediatamente in output quando trovo una parentesi sinistra la carico sullo stack
quando trovo un operatore lo carico sullo stack
quando trovo una parentesi destra svuoto lo stack fino alla corrispondente parentesi sinistra e restituisco tutti gli operatori nel mezzo.
Mi verrebbe $5 3 + 4 5 + 3 1 10 2$ $ / + + * +$
Come converto l'espressione $(5+3)+(4+5)*3+1+10$$/2$ $=41$
Quando trovo un operando lo restituisco immediatamente in output quando trovo una parentesi sinistra la carico sullo stack
quando trovo un operatore lo carico sullo stack
quando trovo una parentesi destra svuoto lo stack fino alla corrispondente parentesi sinistra e restituisco tutti gli operatori nel mezzo.
Mi verrebbe $5 3 + 4 5 + 3 1 10 2$ $ / + + * +$
Risposte
ok, vuoi convertire l'espressione in notazione post-fissa. Perciò, qual è la tua domanda, sembra che te hai compreso il procedimento (o almeno mi pare). Devi scrivere l'algoritmo?
chiedevo conferma per l'espressione in RPN
"BHK":
Mi verrebbe $5 3 + 4 5 + 3 1 10 2$ $ / + + * +$
Essendo io brain-damaged l'ho eseguita sull'HP: fa 89 (!=41).
Ma cmq anche ad occhio qualcosa di strano ce l'ha, perche' il prodotto non sembra essere dove deve essere (a me verrebbe subito dopo il 3).
"BHK":
Il problema è semplicissimo.
Come converto l'espressione $(5+3)+(4+5)*3+1+10$$/2$ $=41$
Quando trovo un operando lo restituisco immediatamente in output quando trovo una parentesi sinistra la carico sullo stack
quando trovo un operatore lo carico sullo stack
quando trovo una parentesi destra svuoto lo stack fino alla corrispondente parentesi sinistra e restituisco tutti gli operatori nel mezzo.
Mi verrebbe $5 3 + 4 5 + 3 1 10 2$ $ / + + * +$

A me risulta:
5 3 + 4 5 + 3 * + 1 + 10 2 / +

@lorven: mi risulta uguale alla tua.