Advertisement
Guest User

lab7_var4

a guest
Nov 29th, 2015
66
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.10 KB | None | 0 0
  1. #include <iostream>
  2. #include <vector>
  3. #include <string>
  4. #include <stdexcept>
  5. #include <algorithm>
  6. #include <functional>
  7.  
  8. using namespace std;
  9.  
  10. template <class T>
  11. class Stack
  12. {
  13. private:
  14.     vector<T> elems;
  15.  
  16. public:
  17.     void push(T const&);
  18.     void pop();
  19.     T top() const;
  20.     bool empty() const
  21.     {
  22.         return elems.empty();
  23.     };
  24.     void foo();
  25. };
  26.  
  27. template <class T>
  28. void Stack<T>::push(T const& elem)
  29. {
  30.     elems.push_back(elem);
  31. }
  32.  
  33. template <class T>
  34. void Stack<T>::pop()
  35. {
  36.     elems.pop_back();
  37. }
  38.  
  39. template <class T>
  40. T Stack<T>::top() const
  41. {
  42.     return elems.back();
  43. }
  44.  
  45. template <class T>
  46. void Stack<T>::foo()
  47. {
  48.     cout << "Обработка массива...\n";
  49.     sort(elems.begin(), elems.end(), greater<int>());
  50.     cout << "Обработка завершена...\n";
  51.     for (auto i = 0; i < elems.size(); ++i)
  52.     {
  53.         cout << elems[i] << " ";
  54.     };
  55.     cout << "\n";
  56. }
  57.  
  58. int main()
  59. {
  60.     setlocale(LC_ALL, "RUS");
  61.     Stack<int> intStack;
  62.     int cache(0);
  63.     char cache_char;
  64.     while (cin >> cache)
  65.     {
  66.         intStack.push(cache);
  67.         cin >> cache_char;
  68.     }
  69.     intStack.foo();
  70.     system("PAUSE");
  71.     return 0;
  72. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement