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.92 KB | None | 0 0
  1. // лаба 2.cpp: определяет точку входа для консольного приложения.
  2. //
  3.  
  4. #include "stdafx.h"
  5. #include <iostream>
  6. //using namespace std;
  7.  
  8. struct Stack //
  9. {
  10. int info;
  11. Stack * next;
  12. } *begin, *t;
  13.  
  14. Stack* InStack(Stack*, int);
  15. void View(Stack*);
  16. void Del_All(Stack **);
  17.  
  18. //---------------------- Функция добавления элемента в Стек -----------------------------
  19. Stack* InStack(Stack*p, int in)
  20. {
  21. Stack *t = new Stack;
  22. t->info = in;
  23. t->next = p;
  24. return t;
  25. }
  26. //--------------------------- Функция просмотра Стека---------------------------------------
  27. void View(Stack *p)
  28. {
  29. Stack *t = p;
  30. while (t != NULL) {
  31. std::cout << " " << t->info << std::endl;
  32. t = t->next;
  33. }
  34. }
  35. //--------------------------- Функция освобождения памяти --------------------------------
  36. void Del_All(Stack **p)
  37. {
  38. while (*p != NULL)
  39. {
  40. t = *p;
  41. *p = (*p)->next;
  42. delete t;
  43. }
  44. }
  45.  
  46. void main()
  47. {
  48. int i, in, n, kod;
  49. while (true) {
  50. std::cout << "\n\tSO3DAT' - 1\n\tDOBAVIT' - 2\n\tPROSMOTRET' - 3\n\tO4ISTIT' - 4\n\tEXIT - 0";
  51. std::cin >> kod;
  52. switch (kod)
  53. {
  54. case 1: case 2:
  55. if (kod == 1 && begin != NULL)
  56. {
  57. std::cout << "o4istka pam9ti!" << std::endl;
  58. break;
  59. }
  60. std::cout << "Input kol = " << std::endl;
  61. std::cin >> n;
  62. for (i = 1; i <= n; i++);
  63. {
  64. in = rand();
  65. begin = InStack(begin, in);
  66. }
  67. if (kod == 1) std::cout << "SO3DAT' " << n << std::endl;
  68. else std::cout << "DOBAVIT' " << n << std::endl;
  69. break;
  70. case 3:
  71. if (!begin)
  72. {
  73. std::cout << "Stack Pust!" << std::endl;
  74. break;
  75. }
  76. std::cout << "-----Stack-----" << std::endl;
  77. View(begin);
  78. break;
  79. case 4:
  80. Del_All(&begin);
  81. std::cout << "Память свободна!" << std::endl;
  82. break;
  83. default:
  84. return;
  85. }
  86. }
  87.  
  88.  
  89. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement