Pagini recente » Cod sursa (job #1230892) | Cod sursa (job #1272272) | Cod sursa (job #2956569) | Cod sursa (job #1370531) | Cod sursa (job #2287881)
#include<stdio.h>
#include<string.h>
char o[2][2]={"+-","*/"},s[100000];
int i;
int E(int l) {
int x,y;
if(l==2)
if(s[i]=='(')
i++,x=E(0),i++;
else
for(x=0;s[i]>='0'&&s[i]<='9';i++)
x=x*10+s[i]-'0';
else
for(x=E(l+1);strchr(o[l],s[i]);x=y)
if(s[i]=='+')
i++,y=x+E(l+1);
else if(s[i]=='-')
i++,y=x-E(l+1);
else if(s[i]=='*')
i++,y=x*E(l+1);
else if(s[i]=='/')
i++,y=x/E(l+1);
return x;
}
int main() {
fgets(s,100000,fopen("evaluare.in","r"));
fprintf(fopen("evaluare.out","w"),"%d",E(0));
}