Pagini recente » Cod sursa (job #81445) | Cod sursa (job #296364) | Cod sursa (job #2665754) | Cod sursa (job #3277524) | Cod sursa (job #1082189)
# include <cstdio>
# include<cstring>
# define maxn 100010
using namespace std;
char s[maxn], *p=s;
int grad1();
int grad2();
int numar();
int grad1()
{
int r = grad2();
while(*p == '+' || *p =='-' )
if(*p == '+')
++p, r += grad2();
else
++p, r -= grad2();
return r;
}
int grad2()
{
int r = numar();
while(*p == '*' || *p =='/')
if(*p == '*')
++p,r *= numar();
else
++p,r /= numar();
return r;
}
int numar()
{
int r = 0;
if(*p == '(')
++p, r = grad1(),++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\n",grad1());
return 0;
}