Cod sursa(job #2776184)

Utilizator BlaugranasEnal Gemaledin Blaugranas Data 18 septembrie 2021 19:50:02
Problema Evaluarea unei expresii Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.69 kb
#include<fstream>
using namespace std;
ifstream F("evaluare.in");
ofstream G("evaluare.out");
char s[100001],*p=s;
int E(int l)
{
    int x,y;
    if(l==2)
        if(*p=='(')
            ++p,x=E(0),++p;
        else
            for(x=0;*p>='0'&&*p<='9';++p)
                x=x*10+*p-'0';
    else
        for(x=E(l+1);(!l&&(*p=='+'||*p=='-'))||(l&&(*p=='*'||*p=='/'));x=y)
            if(*p=='+')
                ++p,y=x+E(l+1);
            else if(*p=='-')
                ++p,y=x-E(l+1);
            else if(*p=='*')
                ++p,y=x*E(l+1);
            else if(*p=='/')
                ++p,y=x/E(l+1);
    return x;
}
int main()
{
    F>>s,G<<E(0);
    return 0;
}