Pagini recente » Cod sursa (job #2670423) | Cod sursa (job #1361322) | Cod sursa (job #615574) | Cod sursa (job #1624342) | Cod sursa (job #2372018)
#include <bits/stdc++.h>
using namespace std;
char s[100005];
int poz;
int Sum();
int Nr(){
if(s[poz]=='('){
++poz;
int x=Sum();
++poz;
return x;
}
int x=0;
while(isdigit(s[poz])){
x=x*10+s[poz]-'0';
++poz;
}
return x;
}
int Prod(){
int P=Nr();
while(s[poz]=='*'||s[poz]=='/'){
if(s[poz]=='*'){
++poz;
P*=Nr();
}
else{
++poz;
P/=Nr();
}
}
return P;
}
int Sum(){
int S=Prod();
while(s[poz]=='+'||s[poz]=='-'){
if(s[poz]=='+'){
++poz;
S+=Prod();
}
else{
++poz;
S-=Prod();
}
}
return S;
}
int main(){
freopen("evaluare.in","r",stdin);
freopen("evaluare.out","w",stdout);
scanf("%s",s);
poz=0;
printf("%d\n",Sum());
return 0;
}