Pagini recente » Cod sursa (job #280365) | Cod sursa (job #623476) | Borderou de evaluare (job #2900979) | Cod sursa (job #650388) | Cod sursa (job #3278865)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("evaluare.in");
ofstream fout("evaluare.out");
const int NMAX = 100000;
long long gr3(); long long gr2(); long long gr1();
char s[NMAX+1], *p;
long long gr3()
{
int nr = gr2();
while(*p == '-' || *p == '+')
if(*p == '-')
p++, nr -= gr2();
else
p++, nr += gr2();
return nr;
}
long long gr2()
{
int nr = gr1();
while(*p == '*' || *p == '/')
if(*p == '*')
p++, nr *= gr1();
else
p++, nr /= gr1();
return nr;
}
long long gr1()
{
int nr = 0;
if(*p == '(')
p++, nr = gr3(), p++;
else
while(isdigit(*p))
nr = nr*10 + (*p - '0'),p++;
return nr;
}
int main()
{
fin >> s;
p = s;
fout << gr3();
return 0;
}