Pagini recente » Cod sursa (job #386962) | Cod sursa (job #2503544) | Cod sursa (job #2011993) | Cod sursa (job #2713485) | Cod sursa (job #3284536)
#include <fstream>
using namespace std;
ifstream cin("evaluare.in");
ofstream cout("evaluare.out");
#define int long long
string s;
int poz;
int semn();
int solve();
int parant(){
int a=0;
if(s[poz]=='('){
poz++;
a=solve();
poz++;
}else{
while(isdigit(s[poz])){
a=a*10+(s[poz]-'0');
poz++;
}
}
return a;
}
int solve(){
int sum=semn();
while(s[poz]=='-' || s[poz]=='+'){
if(s[poz]=='-'){
poz++;sum-=semn();
}else{
poz++;sum+=semn();
}
}
return sum;
}
int semn(){
int prod=parant();
while(s[poz]=='*' || s[poz]=='/'){
if(s[poz]=='*'){
poz++;prod*=parant();
}else{
poz++;prod/=parant();
}
}
return prod;
}
signed main()
{
cin>>s;
cout<<solve();
return 0;
}