Pagini recente » Cod sursa (job #1854245) | Cod sursa (job #70984) | Cod sursa (job #2407112) | Cod sursa (job #1718731) | Cod sursa (job #551012)
Cod sursa(job #551012)
#include<cstdio>
int p;
char s[10000];
int factor () , termen() , expresie();
int factor ( )
{
int semn=1 , val=0;
if ( s[p] == '-' )
{
semn=-1;
p++;
}
if (s[p]=='(')
{
p++;
val=expresie();
p++;
return val;
}
while ( p[s]>='0' && p[s]<='9' )
{
val=val*10+p[s]-'0';
p++;
}
return val;
}
int termen()
{
int prod=factor();
while ( s[p] == '*' || s[p] == '/' )
if ( s[p] == '*' )
{
++p;
prod*=factor();
}
else
{
++p;
prod/=factor();
}
return prod;
}
int expresie ( )
{
int sum=termen();
while (s[p]=='+' || s[p]=='-')
if ( s[p]=='+')
{
++p;
sum+=termen();
}
else
{
++p;
sum-=termen();
}
return sum;
}
int main()
{
freopen("evaluare.in","r",stdin);
freopen("evaluare.out","w",stdout);
gets(s);
printf("%d", expresie() );
return 0;
}