Pagini recente » Cod sursa (job #2392650) | Cod sursa (job #1162007) | Cod sursa (job #850188) | Cod sursa (job #1416281) | Cod sursa (job #179716)
Cod sursa(job #179716)
#include<stdio.h>
char v[100010];
char *p=v;
int termen();
int factor();
int eval(){
int r;
r=termen();
while(*p=='+'||*p=='-'){
if(*p=='+'){
p++;
r+=termen();
}
else{
p++;
r-=termen();
}
}
return r;
}
int termen(){
int r=factor();
while(*p=='*'||*p=='/'){
if(*p=='*'){
p++;
r*=factor();
}
if(*p=='/'){
p++;
r/=factor();
}
}
return r;
}
int factor(){
int r=0;
if(*p=='('){
p++;
r=eval();
p++;
}
else{
while(*p>='0'&&*p<='9'){
r=r*10+*p - '0';
p++;
}
}
return r;
}
int main(){
FILE *f=fopen("evaluare.in","r");
fscanf(f,"%s",v);
fclose(f);
int R;
R = eval();
FILE *g=fopen("evaluare.out","w");
fprintf(g,"%d",R);
fclose(g);
return 0;
}