Erzkoy

stack

Jun 12th, 2021
772
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #include <iostream>
  2. #include <stack>
  3. #include <vector>
  4.  
  5. #define ERROR 1000000000
  6.  
  7.  
  8. using namespace std;
  9.  
  10.  
  11. struct STACK
  12. {
  13.     vector<int> stack;
  14.    
  15. };
  16.  
  17. void INIT(STACK &s) {}
  18.  
  19. void PUSH(STACK &s, int value)
  20. {
  21.     if (s.stack.size() < 5)
  22.     {
  23.         s.stack.push_back(value);
  24.     }
  25.     else
  26.         cout << "nadmiar" << endl;
  27. }
  28.  
  29. int POP(STACK &s)
  30. {
  31.     if (s.stack.size() > 0)
  32.     {
  33.         int value = s.stack.back();
  34.         s.stack.pop_back();
  35.         return value;
  36.     }
  37.     else
  38.         return ERROR;
  39. }
  40.  
  41. bool STACK_EMPTY(STACK &s)
  42. {
  43.     if (s.stack.empty())
  44.         return true;
  45.     else
  46.         return false;
  47. }
  48.  
  49. void WRITE(STACK &s)
  50. {
  51.     for (auto value : s.stack)
  52.         cout << value << " ";
  53.     cout << endl;
  54. }
  55.  
  56. void WRITE(int value)
  57. {
  58.     if (value != ERROR)
  59.         cout << value << endl;
  60.     else
  61.         cout << "niedormiar" << endl;
  62. }
  63.  
  64.  
  65. void WRITE(bool value)
  66. {
  67.     if (value)
  68.         cout << "true" << endl;
  69.     else
  70.         cout << "false" << endl;
  71. }
  72.  
  73.  
  74. int main()
  75. {
  76.     struct STACK S;
  77.     INIT(S);
  78.     PUSH(S, 1);
  79.     PUSH(S, 2);
  80.     WRITE(S);
  81.     PUSH(S, 3);
  82.     PUSH(S, 4);
  83.     PUSH(S, 5);
  84.     WRITE(S);
  85.     PUSH(S, 6);
  86.     WRITE(S);
  87.     WRITE(STACK_EMPTY(S));
  88.     WRITE(POP(S));
  89.     WRITE(POP(S));
  90.     WRITE(POP(S));
  91.     WRITE(POP(S));
  92.     WRITE(S);
  93.     WRITE(POP(S));
  94.     WRITE(POP(S));
  95.     WRITE(S);
  96.     WRITE(STACK_EMPTY(S));
  97.  
  98.  
  99.  
  100.  
  101.  
  102.  
  103.  
  104.    
  105.  
  106.     return 0;
  107. }
  108.  
  109.  
RAW Paste Data