Pagini recente » Cod sursa (job #2352834) | Cod sursa (job #2844312) | Cod sursa (job #2583355) | Cod sursa (job #2367652) | Cod sursa (job #874410)
Cod sursa(job #874410)
#include<cstdio>
char a[100001],*p;
int numar();
int factor();
int termen();
int main()
{
freopen("evaluare.in","rt",stdin);
freopen("evaluare.out","wt",stdout);
scanf("%s",&a);
p=a;
printf("%ld",termen());
return 0;
}
int numar()
{
int val=0;
if(*p=='(')
{
++p;
val=termen();
++p;
}
else
while(*p>='0'&&*p<='9')
{val=val*10+(*p-'0');++p;}
return val;
}
int factor()
{
int val=numar();
while(*p=='/'||*p=='*')
if(*p=='*'){++p;val*=numar();}
else {++p;val/=numar();}
return val;
}
int termen()
{
int val=factor();
while(*p=='+'||*p=='-')
if(*p=='+'){++p;val+=factor();}
else{++p;val-=factor();}
return val;
}