Pagini recente » Cod sursa (job #2021385) | Cod sursa (job #2987514) | Statistici Ion Vlad Vasile (IVVlad) | Cod sursa (job #2180232) | Cod sursa (job #555732)
Cod sursa(job #555732)
#include <stdio.h>
#include <string.h>
int i,n;
char s[100001];
int termen();
int factor();
int expresie() {
int x;
x=termen();
while (s[i]=='+' || s[i]=='-')
if (s[i]=='+') {
i++;
x+=termen();
}
else
if (s[i]=='-') {
i++;
x-=termen();
}
return x;
}
int termen() {
int x;
x=factor();
while (s[i]=='*' || s[i]=='/')
if (s[i]=='*') {
i++;
x*=factor();
}
else
if (s[i]=='/') {
i++;
x/=factor();
}
return x;
}
int factor() {
int x;
x=0;
if (s[i]=='(') {
i++;
x=expresie();
i++;
}
else {
x=0;
while (s[i]>='0' && s[i]<='9') {
x=x*10+s[i]-48;
i++;
}
}
return x;
}
int main() {
freopen("evaluare.in","r",stdin);
freopen("evaluare.out","w",stdout);
gets(s);
i=0;
printf("%d\n",expresie());
return 0;
}