Cod sursa(job #1936726)

Utilizator ScarymovieMocanu Alexandru Scarymovie Data 23 martie 2017 12:51:35
Problema Evaluarea unei expresii Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.77 kb
#include <fstream>
using namespace std;
ifstream f("evaluare.in");
ofstream g("evaluare.out");
char *p,s[100001];
int evaluare1();
int evaluare3()
{
    int rez=0;
    if(*p=='('){p++;rez=evaluare1();p++;}
    else while(*p>='0' && *p<='9')
        {
            rez=rez*10+(*p-'0');
            p++;
        }
    return rez;
}
int evaluare2()
{
    int rez=evaluare3();
    while(*p=='*' || *p=='/')
            if(*p=='*'){p++;rez*=evaluare3();}
            else {p++;rez/=evaluare3();}
    return rez;
}
int evaluare1()
{
    int rez=evaluare2();
    while(*p=='+' || *p=='-')
            if(*p=='+'){p++;rez+=evaluare2();}
            else {p++;rez-=evaluare2();}
    return rez;
}
int main()
{
    f>>s;p=s;
    g<<evaluare1();
    return 0;
}