Pagini recente » Cod sursa (job #1455828) | Cod sursa (job #2028625) | Cod sursa (job #328728) | Cod sursa (job #2448817) | Cod sursa (job #155121)
Cod sursa(job #155121)
#include<stdio.h>
int i,p;
char s[100000];
int get_nr();
int get_f();
int get_e()
{
int rez=get_f();
while(s[p]=='+'||s[p]=='-')
{
p++;
if(s[p-1]=='+')
rez+=get_f();
else
rez-=get_f();
}
return rez;
}
int get_f()
{
int rez=get_nr();
while(s[p]=='*'||s[p]=='/')
{
p++;
if(s[p-1]=='*')
rez*=get_nr();
else
rez/=get_nr();
}
return rez;
}
int get_nr()
{
int rez=0,i;
if(s[p]=='(')
{
p++;
rez=get_e();
p++;
return rez;
}
for(;'0'<=s[p] && s[p]<='9';p++)
rez=rez*10+s[p]-'0';
return rez;
}
int main()
{
freopen("evaluare.in","r",stdin);
freopen("evaluare.out","w",stdout);
scanf("%s",&s);
printf("%d",get_e());
return 0;
}