Pagini recente » Cod sursa (job #1808259) | Cod sursa (job #1503780) | Cod sursa (job #2009123) | Rating Silas Raul-Adrian (RauLiK76) | Cod sursa (job #200253)
Cod sursa(job #200253)
#include <stdio.h>
#define N 100000
char s[N];
int p=0;
int termen();
int factor();
int eval(){
int r=termen();
while(s[p]=='+' || s[p]=='-')
if(s[p]=='+'){
p++;
r+= termen();
break;
}
else {
p++;
r-=termen();
break;
}
return r;
}
int termen(){
int r=factor();
while(s[p]=='*' || s[p]=='/')
if(s[p]=='*'){
p++;
r*=factor();
break;
}
else {
p++;
r/=factor();
break;
}
return r;
}
int factor(){
int r=0;
if(s[p]=='('){
p++;
r=eval();
p++;
}
else while(s[p]>='0' && s[p]<='9'){
r=r*10+s[p]-'0';
p++;
}
return r;
}
int main(){
freopen("evaluare.in","r",stdin);
freopen("evaluare.out","w",stdout);
scanf("%s",s);
printf("%d",eval());
}