Pagini recente » Cod sursa (job #774674) | Cod sursa (job #1215610) | Cod sursa (job #2901807) | Cod sursa (job #2655120) | Cod sursa (job #559599)
Cod sursa(job #559599)
#include <stdio.h>
#include <string.h>
int length;
char sir[100002],*ind;
inline int ground1();
inline int ground2();
inline int ground3();
inline int ground1()
{
int sol=ground2();
while(*ind=='+'||*ind=='-')
if(*ind=='+')
{
ind++;
sol+=ground2();
}
else
{
ind++;
sol-=ground2();
}
return sol;
}
inline int ground2()
{
int sol=ground3();
while(*ind=='*'||*ind=='/')
if(*ind=='*')
{
ind++;
sol*=ground3();
}
else
{
ind++;
sol/=ground3();
}
return sol;
}
inline int ground3()
{
int sol=0;
if(*ind=='(')
{
ind++;
sol=ground1();
ind++;
}
else
while('0'<=*ind&&*ind<='9')
{
sol*=10;
sol+=*ind-'0';
ind++;
}
return sol;
}
int main()
{
freopen("evaluare.in","r",stdin);
freopen("evaluare.out","w",stdout);
fgets(sir,100003,stdin);
length=strlen(sir)-1;
if(sir[length]=='\n') sir[length--]='\0';
ind=sir;
printf("%d\n",ground1());
return 0;
}