Advertisement
Guest User

Untitled

a guest
May 21st, 2019
74
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.70 KB | None | 0 0
  1. #include<iostream>
  2. #include<climits>
  3. #include<list>
  4. #include<fstream>
  5. using namespace std;
  6.  
  7. ifstream in("input.txt");
  8. ofstream out("output.txt");
  9.  
  10. class Stack
  11. {
  12. struct Element{
  13. int inf;
  14. Element *next;
  15. Element(int x, Element *p) : inf(x), next(p) {}
  16. };
  17. Element *head; //указатель на вершину стека
  18. public:
  19. Stack() : head(0) {}
  20. bool Empty() {
  21. return head == 0;
  22. }
  23. int Pop(){
  24. if (Empty()){
  25. return 0;
  26. }
  27. Element *r = head; //иначе запоминаем указатель на вершину стека
  28. int i = r->inf; //запоминаем информацию из верхнего элемента
  29. head = r->next; //передвигаем указатель стека на следующий от вершины элемент
  30. delete r; //освобождаем память, на которую указывает r
  31. return i; //возвращаем значение
  32. }
  33. void Push(int data){
  34. head = new Element(data, head);
  35. }
  36. int Top() //просмотреть элемент на вершине стека
  37. {
  38. if (Empty()) //если стек пуст, то возвращаем 0
  39. {
  40. return 0;
  41. }
  42. else //иначе возвращаем информацию из вершины стека
  43. {
  44. return head->inf;
  45. }
  46. }
  47.  
  48. };
  49.  
  50. int main() {
  51. Stack s1;
  52. Stack s2;
  53. int value;
  54. int min = INT_MAX;
  55. while (in >> value) {
  56. if (value < min)
  57. min = value;
  58. s1.Push(value);
  59. }
  60. while (!s1.Empty()) {
  61. int cur;
  62. cur = s1.Top();
  63. s1.Pop();
  64. if (cur != min)
  65. s2.Push(cur);
  66. }
  67.  
  68. while (!s2.Empty()) {
  69. out << s2.Top() << " ";
  70. s2.Pop();
  71. }
  72. in.close();
  73. out.close();
  74. system("pause");
  75. return 0;
  76. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement