Pagini recente » Cod sursa (job #1422830) | Cod sursa (job #2707813) | Cod sursa (job #2152339) | Cod sursa (job #1469345) | Cod sursa (job #301860)
Cod sursa(job #301860)
#include <cstdio>
#include <cstring>
using namespace std;
#define Nmax 100100
int n,p;
char s[Nmax];
int unu();
int doi();
int trei();
inline int unu()
{
int aux=0;
if (s[p]=='(')
{
p++;
aux=doi();
p++;
return aux;
}
while(s[p]>='0' && s[p]<='9')
{
aux=aux*10+s[p]-'0';
p++;
}
return aux;
}
inline int doi()
{
int aux=trei();
while(s[p]=='+' || s[p]=='-')
{
if (s[p]=='+')
{
p++;
aux+=trei();
}
else
if (s[p]=='-')
{
p++;
aux-=trei();
}
}
return aux;
}
inline int trei()
{
int aux=unu();
while(s[p]=='*' || s[p]=='/')
{
if (s[p]=='*')
{
p++;
aux*=unu();
}
else
if (s[p]=='/')
{
p++;
aux/=unu();
}
}
return aux;
}
int main()
{
freopen("evaluare.in","r",stdin);
freopen("evaluare.out","w",stdout);
gets(s);
p=0;
printf("%d", doi());
return 0;
}