Cod sursa(job #1992126)

Utilizator Cudrici_CarinaCudrici Carina Cudrici_Carina Data 19 iunie 2017 15:50:28
Problema Evaluarea unei expresii Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.61 kb
#import<fstream>
using namespace std;
ifstream fi("evaluare.in");
ofstream fo("evaluare.out");
char s[100005],*i=s;
int E(),F(),T();

int F()
{
    int R;
    if(*i=='(') {i++,R=E(),i++;} else
    for (R=0;isdigit(*i);i++) R=R*10+*(i)-'0';


    return R;
}
int T()
{
    int R=F();
    while(*i=='*' || *i=='/')
        if(*i=='*') {i++;R*=F();}else
        if(*i=='/') {i++;R/=F();}
    return R;
}
int E()
{
    int R=T();
    while(*i=='+'||*i=='-')
        if(*i=='-') {i++;R-=T();}else
        if(*i=='+') {i++;R+=T();}
    return R;
}
main()
{
    fi.get(s,100002);
    fo<<E();
}