Pagini recente » Cod sursa (job #2279171) | Cod sursa (job #3127929) | Cod sursa (job #353030) | Cod sursa (job #999564) | Cod sursa (job #302628)
Cod sursa(job #302628)
#include<iostream>
#include<stdio.h>
char a[1001010];
int termen();
int factor();
int nr(),i;
int termen()
{
int rez=0;
rez=factor();
while(a[i]=='+'||a[i]=='-')
if(a[i++]=='+')
rez+=factor();
else
rez-=factor();
return rez;
}
int factor()
{
int rez=0;
rez=nr();
while(a[i]=='*'||a[i]=='/')
if(a[i++]=='*')
rez*=nr();
else
rez/=nr();
return rez;
}
int nr()
{
int rez=0;
if(a[i]=='(')
{
i++;
rez=termen();
i++;
}
else
while('0'<=a[i]&&a[i]<='9')
rez=rez*10+a[i++]-'0';
return rez;
}
int main()
{
freopen("evaluare.in","r",stdin);
freopen("evaluare.out","w",stdout);
scanf("%s",a);
printf("%d\n",termen());
return 0;
}