Pagini recente » Cod sursa (job #653343) | Cod sursa (job #2316829) | Cod sursa (job #1367582) | Cod sursa (job #2337925) | Cod sursa (job #1044371)
#include <stdio.h>
#define N 100000
char s[N+1];
int i=0;
int prod();
int nr();
int sum(){
int r=prod();
while(1){
if(s[i]=='+') ++i,r+=prod();
else if(s[i]=='-') ++i,r-=prod();
else return r;
}
}
int prod(){
int r=nr();
while(1){
if(s[i]=='*') ++i,r*=nr();
else if(s[i]=='/') ++i,r/=nr();
else return r;
}
}
int nr(){
if(s[i]=='('){
++i;
int r=sum();
return ++i,r;
}
int r=0;
while(s[i]>='0'&&s[i]<='9'){
r*=10;
r+=s[i]-'0';
++i;
}
return r;
}
int main(){
freopen("evaluare.in","r",stdin);
freopen("evaluare.out","w",stdout);
scanf("%s",s);
printf("%i",sum());
return 0;
}