Pagini recente » Cod sursa (job #1316366) | Cod sursa (job #1223456) | Cod sursa (job #637315) | Cod sursa (job #734788) | Cod sursa (job #2635340)
#include <bits/stdc++.h>
using namespace std;
#define int long long
char s[100003], *p=s;
int i;
int eval1();
int eval2();
int eval(){
int rez=eval1();
while(*p=='+'||*p=='-'){
if(*p=='+'){
++p;
rez+=eval1();
}
else{
++p;
rez-=eval1();
}
}
return rez;
}
int eval1(){
int rez=eval2();
while(*p=='*'||*p=='/'){
if(*p=='*'){
++p;
rez*=eval2();
}
else {
++p;
rez/=eval2();
}
}
return rez;
}
int eval2(){
int rez=0;
if(*p=='('){
++p;
rez=eval();
++p;
}
else while(isdigit(*p)){
rez=rez*10+*p-'0';
++p;
}
return rez;
}
int32_t main(){
ifstream cin("evaluare.in");
ofstream cout("evaluare.out");
cin >> s;
cout << eval();
}