Pagini recente » Cod sursa (job #379760) | Cod sursa (job #1200014) | Cod sursa (job #1045320) | Cod sursa (job #1646405) | Cod sursa (job #1165447)
#include <algorithm>
#include <cstdio>
using namespace std;
const int N=100005;
char a[N], *p=a;
int eval();
int factor()
{
int ret=0;
if(*p=='(')
{
p++;
ret=eval();
p++;
}
else
{
for(;*p>='0'&&*p<='9';p++) ret=10*ret+*p-'0';
}
return ret;
}
int termen()
{
int ret=factor();
while(*p=='*'||*p=='/')
{
if(*p=='*')
{
p++;
ret*=termen();
}
else
{
p++;
ret/=termen();
}
}
return ret;
}
int eval()
{
int ret=termen();
while(*p=='+'||*p=='-')
{
if(*p=='+')
{
p++;
ret+=termen();
}
else
{
p++;
ret-=termen();
}
}
return ret;
}
int main()
{
freopen("evaluare.in", "r", stdin);
freopen("evaluare.out", "w", stdout);
scanf("%s", a);
printf("%d\n", eval());
}