Programozás‎ > ‎Feladatok‎ > ‎

Teljesen zárójelezett kifejezések

Adott egy kifejezés, teljes zárójelezéssel.

( ( 3 + ( 4 - 12 ) ) / ( 5 - ( 2 * 1 ) ) )

A teljes zárójelezés azt jelenti, hogy minden művelthez tartozik egy nyitó és egy csukó zárójel: ( a - b ). Az egyszerűség kedvéért a további megszorításokat is feltételezzük:
  • minden token (zárójel, műveleti jel, szám) szóközökkel van egymástól elválasztva
  • csak az egészeken értelmezett négy alapművelet szerepelhet, az osztás "egész osztás" (DIV)
  • a kifejezés helyes 

Feladat

Írjunk programot, ami kiszámolja a kifejezés értékét.

Bemenet

A bemenet egyetlen sor, a teljesen zárójelezett kifejezés.

Kimenet

A kifejezés értéke. Nullával osztás estén ezt írjuk ki, hogy HIBA.

Példa

kifejezes.txt  Kimenet
( 1 + 0 )
1
( 2 + ( ( 3 + 4 ) * ( 5 * 6 ) ) )212
( ( 2 * 2 ) / ( 2 + 3 ) )0
( ( 3 + ( 4 - 12 ) ) / ( 5 - ( 2 * 1 ) ) )-1
( 3 / ( 4 / 5 ) )HIBA

Tesztadatok

Lásd fent.

Címkék

A feladat forrása: Sedgewick, Intro to Computer Science
Algoritmusok: verem használata

megoldás