Advertisement
Guest User

Stack

a guest
Apr 8th, 2020
164
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.22 KB | None | 0 0
  1. #include <iostream>
  2. #include <stack>
  3. using namespace std;
  4.  
  5. class MyStack {
  6.     public:
  7.     int size;
  8.     string  name;
  9.     stack<int> steck;
  10.    
  11.     MyStack(int size, const string &name) : size(size), name(name) {}
  12.    
  13.     bool isPush(int num){
  14.         if(steck.size()<size){
  15.             this->steck.push(num);
  16.             return true;
  17.         }
  18.         return false;
  19.     }
  20.    
  21.     bool isPeek(){
  22.         cout.setf(ios::left);
  23.         cout.width(15);
  24.         if(!steck.empty()){
  25.             cout << this->steck.top();
  26.             steck.pop();
  27.             return true;
  28.         }
  29.         cout << ' ';
  30.         return false;
  31.     }
  32. };
  33. int main(){
  34.     int size;
  35.     string name;
  36.    
  37.     cin >> name >> size;
  38.     MyStack *myStack1 = new MyStack(size, name);
  39.    
  40.     cin >> name >> size;
  41.     MyStack *myStack2 = new MyStack(size, name);
  42.    
  43.     int a;
  44.     bool flag = true;
  45.     bool flag1, flag2;
  46.     while (flag) {
  47.         cin >> a;
  48.         flag1 = myStack1->isPush(a);
  49.         flag2 = myStack2->isPush(a);
  50.         flag = flag1 && flag2;
  51.     }
  52.    
  53.     cout << myStack1->name <<' ' << myStack1->size << '\n';
  54.     cout << myStack2->name <<' ' << myStack2->size << '\n';
  55.    
  56.     cout.setf(ios::left);
  57.     cout.width(15);
  58.     cout << myStack1->name << myStack2->name << '\n';
  59.    
  60.     flag = true;
  61.     while (flag) {
  62.         flag1 = myStack1->isPeek();
  63.         flag2 = myStack2->isPeek();
  64.         flag = flag1 && flag2;
  65.         cout << '\n';
  66.     }
  67. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement