Pagini recente » Cod sursa (job #1531652) | Cod sursa (job #1116664) | Cod sursa (job #106549) | Cod sursa (job #1009314) | Cod sursa (job #524879)
Cod sursa(job #524879)
#include <stdio.h>
char Sir[100010],*ind;
int level1();
int level2();
int level3();
int level1()
{
int sol=level2();
while(*ind=='+'||*ind=='-')
if(*ind=='+')
{
ind++;
sol+=level2();
}
else
{
ind++;
sol-=level2();
}
return sol;
}
int level2()
{
int sol=level3();
while(*ind=='*'||*ind=='/')
if(*ind=='*')
{
ind++;
sol*=level3();
}
else
{
ind++;
sol/=level3();
}
return sol;
}
int level3()
{
int sol=0;
if(*ind=='(')
{
ind++;
sol=level1();
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,100010,stdin);
ind=Sir;
printf("%d\n",level1());
return 0;
}