Pagini recente » Cod sursa (job #2123421) | Cod sursa (job #1894500) | Cod sursa (job #1825955) | Cod sursa (job #1117665) | Cod sursa (job #677502)
Cod sursa(job #677502)
#include <stdio.h>
char *p;
char f[100001];
int solve();
int multi();
int termi();
int solve(){
int f=multi();
while (*p=='+' || *p=='-'){
if (*p=='+'){
p++;
f+=multi();
}
if (*p=='-'){
p++;
f-=multi();
}
}
return f;
}
int multi(){
int f=termi();
while (*p=='*' || *p=='/'){
if (*p=='*'){
p++;
f*=termi();
}
if (*p=='/'){
p++;
f/=termi();
}
}
return f;
}
int termi(){
int nr=0;
if (*p=='('){
p++;
nr=solve();
p++;
return nr;
}
while (*p>='0' && *p<='9'){
nr=nr*10+*p-'0';
p++;
}
return nr;
}
int main(){
freopen("polo.in","r",stdin);
freopen("polo.out","w",stdout);
gets(f);p=f;
printf("%d",solve());
return 0;
}