fork(2) download
  1. #include <iostream>
  2. #include <algorithm>
  3. #include <cmath>
  4. #include <stack>
  5. using namespace std;
  6. stack<int>liczby;
  7.  
  8. int main(){
  9. int niegadaj=0;
  10. char n;
  11. int l1,l2;
  12. while(cin>>n){
  13. if(isdigit(n)==1){
  14. liczby.push(n-'0');
  15. }
  16. else if(n=='+'){
  17. l1=liczby.top();
  18. if(liczby.size()>=2){
  19. liczby.pop();
  20. l2=liczby.top();
  21. liczby.pop();
  22. liczby.push(l1+l2);
  23. }
  24. else{
  25. cout<<"ERROR";
  26. niegadaj=1;
  27. break;
  28. }
  29.  
  30. }
  31. else if(n=='*'){
  32. l1=liczby.top();
  33. if(liczby.size()>=2){
  34. liczby.pop();
  35. l2=liczby.top();
  36. liczby.pop();
  37. liczby.push(l1*l2);
  38. }
  39. else{
  40. cout<<"ERROR";
  41. niegadaj=1;
  42. break;
  43. }
  44. }
  45. else if(n=='-'){
  46. l1=liczby.top();
  47. if(liczby.size()>=2){
  48. liczby.pop();
  49. l2=liczby.top();
  50. liczby.pop();
  51. liczby.push(l2-l1);
  52. }
  53. else{
  54. cout<<"ERROR";
  55. niegadaj=1;
  56. break;
  57. }
  58. }
  59. }
  60. if(niegadaj==0){
  61. cout<<liczby.top();
  62. }
  63.  
  64.  
  65. }
  66.  
  67.  
Success #stdin #stdout 0.01s 5548KB
stdin
1 2 3 - - 2 3 + - 
stdout
-3