Advertisement
Guest User

Untitled

a guest
Mar 13th, 2018
74
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.59 KB | None | 0 0
  1. #include <iostream>
  2. #include <cstdio>
  3. using namespace std;
  4.  
  5. class Stos
  6. {
  7. public:
  8.  
  9. int *tab,wierzch, rozmiar;
  10.  
  11. void init ( int rozm)
  12. {
  13. tab=new int[rozm];
  14. rozmiar=rozm;
  15. wierzch=-1;
  16.  
  17. }
  18.  
  19. void destroy ()
  20. {
  21. delete [] tab;
  22. }
  23. void push(int rozm, int l)
  24. {
  25. if(wierzch>=rozm-1)
  26.  
  27.  
  28. cout<<"stos pelny"<<endl;
  29. else tab[++wierzch]=l;
  30. }
  31. void pop ()
  32. {
  33. if (rozmiar>=0)
  34. --rozmiar;
  35. else cout << "Stos jest pusty";
  36. }
  37.  
  38. int top ()
  39. {
  40. return tab[wierzch--];
  41.  
  42. }
  43.  
  44. int empty ()
  45. {
  46. if(rozmiar==-1)
  47. return 1;
  48. else
  49. return 0;
  50. }
  51.  
  52. bool full()
  53. {
  54. if(wierzch>= rozmiar-1)
  55. {
  56. return true;
  57. }
  58. else return false;
  59. }
  60. };
  61.  
  62. int main ()
  63. {
  64. int rozmiar, liczba;
  65. Stos s1, s2;
  66. cout << "Podaj rozmiar stosu " << endl;
  67. cin >> rozmiar;
  68.  
  69. s1.init(rozmiar);
  70. s2.init(rozmiar);
  71.  
  72. cout << "Podaj liczby, jaka chcesz wstawic na wierzch" << endl;
  73. while(!s1.full())
  74. {
  75. cin >> liczba;
  76. s1.push(rozmiar, liczba);
  77. }
  78. for (int i=0; i<rozmiar; i++)
  79. s2.push( rozmiar,s1.top());
  80. cout << "Nowy stos:" << endl;
  81. for (int i=0; i<rozmiar; i++)
  82. cout << s2.top() << endl;
  83.  
  84.  
  85.  
  86. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement