Atenţie! Aceasta este o versiune veche a paginii, scrisă la 2008-02-28 15:08:51.
Revizia anterioară   Revizia următoare  

 

Fişierul intrare/ieşire:evaluare.in, evaluare.outSursăad-hoc
AutorArhiva EducationalaAdăugată desima_cotizoSima Cotizo sima_cotizo
Timp execuţie pe test0.025 secLimită de memorie20480 kbytes
Scorul tăuN/ADificultateN/A

Vezi solutiile trimise | Statistici

Evaluarea unei expresii

Se da un sir de caractere ce reprezinta o expresie aritmetica.

Cerinta

Afisati rezultatul obtinut prin evaluarea expresiei.

Date de intrare

Fisierul de intrare evaluare.in va contine pe prima linie un sir de caractere compus din cifre ( '0' - '9' ), operatorii '+', '-', '*', '/' si paranteze( '(', ')' ).

Date de iesire

In fisierul de iesire evaluare.out se va scrie un singur numar intreg care reprezinta valoarea obtinuta in urma evaluarii expresiei.

Restrictii si precizari

  • 1 ≤ lungimea sirului ≤ 100 000
  • Operatorii '+','-','*' au semnificatia cunoscuta de la matematca, iar operatorul '/' reprezinta catul impartirii intregi a doua numere
  • Ordinea efectuarii operatiilor este cea normala
  • Se garanteaza ca atat rezultatul final, cat si orice rezultat intermediar nu va depasi in modul 1 000 000 000

Exemplu

evaluare.inevaluare.out
(1+1)*3+10/2
11
Trebuie sa te autentifici pentru a trimite solutii. Click aici

Cum se trimit solutii?

Indicatii de rezolvare

Probabil cea mai cunoscuta metoda de a evalua o expresie algebrica este scrierea ei in forma poloneza, urmata de evaluarea propriu-zisa, despre care puteti gasi mai multe aici .
Problema se poate rezolva si folosind arbori, metoda explicata pe larg aici .
De asemenea, o a treia metoda este explicata pe larg in aceasta sursa de 100 puncte.

Probleme asemanatoare: