Pagini recente » Cod sursa (job #2102701) | Cod sursa (job #2107215) | Cod sursa (job #103453) | Cod sursa (job #1578773) | Cod sursa (job #627295)
Cod sursa(job #627295)
#include <stdio.h>
char*s=new char[100001];
int termen();
int factor();
int eval(){
int v=termen();
while(*s=='+'||*s=='-'){
if(*s=='+'){s++; v+=termen(); } else {s++; v-=termen(); } }
return v;
}
int termen(){
int v=factor();
while(*s=='*'||*s=='/'){
if(*s=='*'){s++; v*=factor(); } else {s++; v/=factor(); } }
return v;
}
int factor(){
int v=0;
if(*s=='('){
s++; v=eval(); s++; } else {
while(*s>='0'&&*s<='9'){v=(v*10)+*s-'0';s++;}; }
return v;
}
int main(){
freopen("test.in","r",stdin);
freopen("test.out","w",stdout);
gets(s);
printf("%d\n",eval());
}