O_Egor

15(+)

Oct 6th, 2019
373
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.97 KB | None | 0 0
  1. #include <iostream>
  2. #include <vector>
  3. #include <string>
  4. #include <ctype.h>
  5. #include <math.h>
  6. using namespace std;
  7.  
  8. int main()
  9. {
  10.     string s;
  11.     getline(cin, s);
  12.     vector <int> v;
  13.     int a;
  14.     for(int i=0; i<s.size();)
  15.     {
  16.         while(isdigit(s[i]))
  17.         {
  18.             a=s[i]-48;
  19.             v.push_back(a);
  20.             i++;
  21.         }
  22.         do
  23.         {
  24.             switch(s[i])
  25.             {
  26.                 case '+': v[v.size()-2]+=v[v.size()-1]; break;
  27.                 case '-': v[v.size()-2]-=v[v.size()-1]; break;
  28.                 case '/': v[v.size()-2]/=v[v.size()-1]; break;
  29.                 case '*': v[v.size()-2]*=v[v.size()-1]; break;
  30.                 case '^': v[v.size()-2]=pow(v[v.size()-2], v[v.size()-1]); break;
  31.             }
  32.             v.erase(v.end()-1);
  33.             i++;
  34.         }
  35.         while(!isdigit(s[i]));
  36.     }
  37.     cout << v[0];
  38.     return 0;
  39. }
  40. /// 523^2^2*+    =5+(2^3)^2*2=133
  41. /// 45+3*        =(4+5)*3    =27
Advertisement
Add Comment
Please, Sign In to add comment