Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <vector>
- #include <string>
- #include <ctype.h>
- #include <math.h>
- using namespace std;
- int main()
- {
- string s;
- getline(cin, s);
- vector <int> v;
- int a;
- for(int i=0; i<s.size();)
- {
- while(isdigit(s[i]))
- {
- a=s[i]-48;
- v.push_back(a);
- i++;
- }
- do
- {
- switch(s[i])
- {
- case '+': v[v.size()-2]+=v[v.size()-1]; break;
- case '-': v[v.size()-2]-=v[v.size()-1]; break;
- case '/': v[v.size()-2]/=v[v.size()-1]; break;
- case '*': v[v.size()-2]*=v[v.size()-1]; break;
- case '^': v[v.size()-2]=pow(v[v.size()-2], v[v.size()-1]); break;
- }
- v.erase(v.end()-1);
- i++;
- }
- while(!isdigit(s[i]));
- }
- cout << v[0];
- return 0;
- }
- /// 523^2^2*+ =5+(2^3)^2*2=133
- /// 45+3* =(4+5)*3 =27
Advertisement
Add Comment
Please, Sign In to add comment