Pagini recente » Cod sursa (job #1746561) | Cod sursa (job #2088630) | Cod sursa (job #2219802) | Cod sursa (job #2472975) | Cod sursa (job #815050)
Cod sursa(job #815050)
#include<cstdio>
using namespace std;
char s[100005],*c;
int E(),T(),F();
int main()
{
freopen("evaluare.in","r",stdin);
freopen("evaluare.out","w",stdout);
scanf("%s",s);
c=s;
printf("%d",E());
return 0;
}
int E()
{
int rez=T();
while(*c=='-' || *c=='+')
{
if(*c=='-') {c++;rez-=T();}
else {c++;rez+=T();}
}
return rez;
}
int T()
{
int rez=F();
while(*c=='*' || *c=='/')
{
if(*c=='*') {c++;rez*=F();}
else {c++;rez/=F();}
}
return rez;
}
int F()
{
int rez=0;
if(*c=='('){c++;rez=E();c++;return rez;}
while(*c>='0'&&*c<='9'){rez=rez*10+*c-'0';c++;}
return rez;
}