Pagini recente » Cod sursa (job #435915) | Cod sursa (job #2918468) | Cod sursa (job #2320076) | Cod sursa (job #913880) | Cod sursa (job #1852946)
#include <bits/stdc++.h>
using namespace std;
ifstream f("evaluare.in");
ofstream g("evaluare.out");
char E[100010];
int poz,suma(),produs(),factor();
int main()
{
f>>E;
g<<suma();
return 0;
}
int suma()
{
int r=produs();
while(E[poz]=='+'||E[poz]=='-')
if(E[poz]=='+')poz++,r+=produs();
else poz++,r-=produs();
return r;
}
int produs()
{
int r=factor();
while(E[poz]=='*'||E[poz]=='/')
if(E[poz]=='*')poz++,r*=factor();
else poz++,r/=factor();
return r;
}
int factor()
{
int r=0;
if(isdigit(E[poz]))
{
while(isdigit(E[poz]))
{
r=10*r+E[poz]-'0';
poz++;
}
return r;
}
poz++;r=suma();poz++;
return r;
}