Pagini recente » Cod sursa (job #2810154) | Cod sursa (job #1322941) | Cod sursa (job #2412469) | Cod sursa (job #2517868) | Cod sursa (job #158688)
Cod sursa(job #158688)
#include<stdio.h>
#define nmax 100000
int i,j,p;
char s[nmax];
int get_nr();
int get_s();
int get_e()
{
int rez=get_s();
while(s[p]=='+'||s[p]=='-')
{
p++;
if(s[p-1]=='+')
rez+=get_s();
else
rez-=get_s();
}
return rez;
}
int get_s()
{
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;
if(s[p]=='(')
{
p++;
rez+=get_e();
p++;
return rez;
}
else
{
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;
}