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