Pagini recente » Cod sursa (job #1142957) | Cod sursa (job #1505854) | Cod sursa (job #1931674) | Cod sursa (job #2802598) | Cod sursa (job #538835)
Cod sursa(job #538835)
#include<stdio.h>
#include<string.h>
#define DIM 100001
char sir[DIM], *p;
int sol;
int solve(), termen(), factor();
int solve() {
int rez=factor();
while(*p=='+' || *p=='-')
if(*p=='+') {
p++;
rez+=factor();
}
else {
p++;
rez-=factor();
}
return rez;
}
int factor() {
int rez=termen();
while(*p=='*' || *p=='/')
if(*p=='*') {
p++;
rez*=termen();
}
else {
p++;
rez/=termen();
}
return rez;
}
int termen() {
int rez=0;
if(*p=='(') {
p++;
rez=solve();
p++;
}
else
while(*p>='0' && *p<='9') {
rez=rez*10+*p-'0';
p++;
}
return rez;
}
int main() {
freopen("evaluare.in","r",stdin);
freopen("evaluare.out","w",stdout);
gets(sir);
p=sir; sol=solve();
printf("%d\n",sol);
return 0;
}