Advertisement
Guest User

Untitled

a guest
Apr 9th, 2020
149
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.76 KB | None | 0 0
  1. #include <stdlib.h>
  2. #include <stdio.h>
  3. #include <iostream>
  4. #include <string>
  5. #include <iomanip>
  6. using namespace std;
  7.  
  8. class stack
  9. {
  10. private:
  11.     int* st;
  12.     int size;
  13.     int index;
  14.     string name;
  15. public:
  16.  
  17.     stack(string n, int s)
  18.     {
  19.         size = s;
  20.         name = n;
  21.         index = 0;
  22.         st = new int[size];
  23.     }
  24.  
  25.     bool add(int x)
  26.     {
  27.         if (index != size)
  28.         {
  29.             *(st + index) = x;
  30.             index++;
  31.             return true;
  32.         }
  33.         else { return false; }
  34.     }
  35.  
  36.     bool pop()
  37.     {
  38.         if (index-1>0)
  39.         {
  40.             *(st + index - 1) = 0;
  41.             index--;
  42.             return true;
  43.         }
  44.         else { return false; }
  45.     }
  46.  
  47.     int len()
  48.     {
  49.         return index;
  50.     }
  51.  
  52.     int get()
  53.     {
  54.         return(st[index - 1]);
  55.     }
  56.  
  57.     string getname() { return name; }
  58.     int getsize() { return size; }
  59.     ~stack()
  60.     {
  61.         delete[] st;
  62.     }
  63. };
  64.  
  65.  
  66. int main()
  67. {
  68.     string name1, name2;
  69.     int x, L, size1, size2;
  70.     cin >> name1 >> size1;
  71.     stack Obj1(name1, size1);
  72.     cin >> name2 >> size2;
  73.     stack Obj2(name2, size2);
  74.     bool flag1 = true;
  75.     bool flag2 = true;
  76.     while (flag1 and flag2)
  77.     {
  78.         cin >> x;
  79.         flag1 = Obj1.add(x);
  80.         flag2 = Obj2.add(x);
  81.     }
  82.    
  83.     cout << setw(15) << left << Obj1.getname();
  84.     cout << Obj1.getsize() << endl;
  85.     cout << setw(15) << left << Obj2.getname();
  86.     cout << Obj2.getsize() << endl;
  87.     cout << setw(15) << left << Obj1.getname()<<Obj2.getname()<<endl;
  88.    
  89.     cout << setw(15) <<right<< Obj1.get();
  90.     cout << setw(15) <<right<< Obj2.get();
  91.  
  92.     if (Obj1.len() > Obj2.len())
  93.     {
  94.         while (Obj2.pop())
  95.         {
  96.             Obj1.pop();
  97.             cout << endl;
  98.             cout << setw(15) <<right<< Obj1.get();
  99.             cout << setw(15) <<right<< Obj2.get();
  100.         }
  101.     }
  102.     else
  103.     {
  104.         while (Obj1.pop())
  105.         {
  106.             Obj2.pop();
  107.             cout << endl;
  108.             cout << setw(15) <<right<< Obj1.get();
  109.             cout << setw(15) <<right<< Obj2.get();
  110.         }
  111.     }
  112.  
  113.  
  114.  
  115.     return(0);
  116. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement