Pagini recente » Cod sursa (job #280295) | Cod sursa (job #632796) | Cod sursa (job #1658528) | Cod sursa (job #1081982) | Cod sursa (job #380652)
Cod sursa(job #380652)
#include <stdio.h>
#define DIM 100002
char s[DIM], *p = s;
int exp();
int term();
int fact();
int exp(){
int r = term();
while (*p == '+' || *p == '-') {
if (*p == '+') {
p++;
r+=term();
} else {
p++;
r-=term();
}
}
return r;
}
int term(){
int r = fact();
while (*p == '*' || *p == '/') {
if (*p == '*') {
p++;
r*=fact();
} else {
p++;
r/=fact();
}
}
return r;
}
int fact(){
int r = 0;
if (*p == '(') {
p++;
r = exp();
p++;
} else {
while (*p >= '0' && *p <= '9') {
r = r*10+*p-48;
p++;
}
}
return r;
}
int main() {
FILE *f = fopen("evaluare.in","r");
fgets(s,DIM,f);
fclose(f);
FILE *g = fopen("evaluare.out","w");
fprintf(g,"%d",exp());
fclose(g);
return 0;
}