Pagini recente » Cod sursa (job #2606521) | Cod sursa (job #2975598) | Cod sursa (job #730459) | Cod sursa (job #3172870) | Cod sursa (job #266759)
Cod sursa(job #266759)
#include<stdio.h>
#define DIM 100001
char s[DIM],*p=s;
int eval ();
int termen ();
int factor ();
int eval ()
{
int r=termen ();
while(*p=='+' || *p=='-')
if(*p=='+')
{
++p;
r+=termen();
}
else
{
++p;
r-=termen();
}
return r;
}
int termen ()
{
int r=factor ();
while(*p=='*' || *p=='/')
if(*p=='*')
{
++p;
r*=factor();
}
else
{
++p;
r/=factor();
}
return r;
}
int factor ()
{
int r=0;
if(*p=='(')
{
++p;
r=eval ();
++p;
}
else
{
while(*p>='0' && *p<='9')
{
r=r*10+(*p-'0');
++p;
}
}
return r;
}
int main ()
{
freopen("evaluare.in","r",stdin);
freopen("evaluare.out","w",stdout);
gets (s);
printf ("%d", eval ());
return 0;
}