Pagini recente » Cod sursa (job #2584986) | Cod sursa (job #2628646) | Cod sursa (job #342326) | Cod sursa (job #56128) | Cod sursa (job #1510793)
#include <cstdio>
using namespace std;
char s[100000];
int index;
int trei();
int unu(){
if( s[index]=='(' ){
++index;
int r=trei();
++index;
return r;
}
int nr=0;
while( s[index]>='0' && s[index]<='9' )nr=nr*10+s[index++]-'0';
return nr;
}
int doi(){
int r=unu();
while( s[index]=='*' || s[index]=='/' )
if( s[index++]=='*' )
r*=unu();
else r/=unu();
return r;
}
int trei(){
int r=doi();
while( s[index]=='+' || s[index]=='-' )
if( s[index++]=='+' )
r+=doi();
else r-=doi();
return r;
}
int main(){
freopen( "evaluare.in", "r", stdin );
freopen( "evaluare.out", "w", stdout );
scanf( "%s", s );
printf( "%d", trei() );
return 0;
}