Advertisement
Guest User

Untitled

a guest
Dec 15th, 2019
102
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 9.44 KB | None | 0 0
  1. int main()
  2. {
  3.  
  4. setlocale(LC_ALL, "ru");
  5. cout << "Выберите действие, которое хотите совершить:" << endl;
  6. cout << "1. Создать объект класса Deque" << endl << "2. Завершить программу" << endl;
  7. int a;
  8. cin >> a;
  9. if (a == 1)
  10. {
  11. cout << "Выберите желаемый тип объекта: " << endl;
  12. cout << "1. Int\n" << "2. Const char*\n" << "3. Double\n" << "4. Long long" << endl;
  13. int b;
  14. cin >> b;
  15. if (b == 1)
  16. {
  17. Deque<int> intDeque;
  18. for (int i = 0; i < 100; i++)
  19. {
  20. cout << "Возможные действия с объектом:" << endl;
  21. cout << "1. Добавление элемента в начало\n" << "2. Добавление элемента в конец\n" << "3. Удаление элемента из начала\n"
  22. << "4. Удаление элемента из конца\n" << "5. Просмотр последнего элемента\n" << "6. Вывод количества элемементов\n" <<
  23. "7. Сортировка элементов\n" << "8. Окончание программы" << endl;
  24. int p;
  25. cin >> p;
  26. if (p == 1)
  27. {
  28. cout << "Введите элемент, который хотите добавить" << endl;
  29. int elem;
  30. cin >> elem;
  31. intDeque.PushFront(elem);
  32. cout << "Элемент " << elem << " добавлен в начало!" << endl;
  33. }
  34. else if (p == 2)
  35. {
  36. cout << "Введите элемент, который хотите добавить" << endl;
  37. int elem;
  38. cin >> elem;
  39. intDeque.PushFront(elem);
  40. cout << "Элемент " << elem << " добавлен в конец!" << endl;
  41. }
  42. else if (p == 3)
  43. {
  44. intDeque.PopFront();
  45. cout << "Элемент удален из начала" << endl;
  46. }
  47. else if (p == 4)
  48. {
  49. intDeque.PopBack();
  50. cout << "Элемент удален из конца" << endl;
  51. }
  52. else if (p == 5)
  53. {
  54. int k = intDeque.Back();
  55. cout << "Последний элемент вашего объекта - " << k << endl;
  56. }
  57. else if (p == 6)
  58. {
  59. int k = intDeque.GetSize();
  60. cout << "Количество элементов в вашем объекте равно " << k << endl;
  61. }
  62. else if (p == 7)
  63. {
  64. intDeque.Sort();
  65. cout << "Ваши элементы отсортированы!" << endl;
  66. }
  67. else if (p == 8)
  68. return 0;
  69. else
  70. cout << "Такого действия не существует! Попробуйте еще раз." << endl;
  71. }
  72.  
  73. }
  74. else if (b == 2)
  75. {
  76. Deque<char*> CharDeque;
  77. for (int i = 0; i < 100; i++)
  78. {
  79. cout << "Возможные действия с объектом:" << endl;
  80. cout << "1. Добавление элемента в начало\n" << "2. Добавление элемента в конец\n" << "3. Удаление элемента из начала\n"
  81. << "4. Удаление элемента из конца\n" << "5. Просмотр последнего элемента\n" << "6. Вывод количества элемементов\n" <<
  82. "7. Сортировка элементов\n" << "8. Окончание программы" << endl;
  83. int p;
  84. cin >> p;
  85. if (p == 1)
  86. {
  87. cout << "Введите элемент, который хотите добавить" << endl;
  88. char* elem = new char[256];
  89. cin.ignore();
  90. cin.getline(elem, 256);
  91. CharDeque.PushFront(elem);
  92. cout << "Элемент " << elem << " добавлен в начало!" << endl;
  93. delete[] elem;
  94. }
  95. else if (p == 2)
  96. {
  97. cout << "Введите элемент, который хотите добавить" << endl;
  98. char* elem = new char[256];
  99. cin.ignore();
  100. cin.getline(elem, 256);
  101. CharDeque.PushBack(elem);
  102. cout << "Элемент " << elem << " добавлен в конец!" << endl;
  103. delete[] elem;
  104. }
  105. else if (p == 3)
  106. {
  107. CharDeque.PopFront();
  108. cout << "Элемент удален из начала" << endl;
  109. }
  110. else if (p == 4)
  111. {
  112. CharDeque.PopBack();
  113. cout << "Элемент удален из конца" << endl;
  114. }
  115. else if (p == 5)
  116. {
  117. cout << "Последний элемент вашего объекта - " << CharDeque.Back() << endl;
  118. }
  119. else if (p == 6)
  120. {
  121. cout << "Количество элементов в вашем объекте равно " << CharDeque.GetSize() << endl;
  122. }
  123. else if (p == 7)
  124. {
  125. CharDeque.Sort();
  126. cout << "Ваши элементы отсортированы!" << endl;
  127. }
  128. else if (p == 8)
  129. return 0;
  130. else
  131. cout << "Такого действия не существует! Попробуйте еще раз." << endl;
  132. }
  133. }
  134. else if (b == 3)
  135. {
  136. Deque < double > DoubleDeque;
  137. for (int i = 0; i < 100; i++)
  138. {
  139. cout << "Возможные действия с объектом:" << endl;
  140. cout << "1. Добавление элемента в начало\n" << "2. Добавление элемента в конец\n" << "3. Удаление элемента из начала\n"
  141. << "4. Удаление элемента из конца\n" << "5. Просмотр последнего элемента\n" << "6. Вывод количества элемементов\n" <<
  142. "7. Сортировка элементов\n" << "8. Окончание программы" << endl;
  143. int p;
  144. cin >> p;
  145. if (p == 1)
  146. {
  147. cout << "Введите элемент, который хотите добавить" << endl;
  148. double elem;
  149. cin >> elem;
  150. DoubleDeque.PushFront(elem);
  151. cout << "Элемент " << elem << " добавлен в начало!" << endl;
  152. }
  153. else if (p == 2)
  154. {
  155. cout << "Введите элемент, который хотите добавить" << endl;
  156. double elem;
  157. cin >> elem;
  158. DoubleDeque.PushBack(elem);
  159. cout << "Элемент " << elem << " добавлен в конец!" << endl;
  160. }
  161. else if (p == 3)
  162. {
  163. DoubleDeque.PopFront();
  164. cout << "Элемент удален из начала" << endl;
  165. }
  166. else if (p == 4)
  167. {
  168. DoubleDeque.PopBack();
  169. cout << "Элемент удален из конца" << endl;
  170. }
  171. else if (p == 5)
  172. {
  173. double k = DoubleDeque.Back();
  174. cout << "Последний элемент вашего объекта - " << k << endl;
  175. }
  176. else if (p == 6)
  177. {
  178. double k = DoubleDeque.GetSize();
  179. cout << "Количество элементов в вашем объекте равно " << k << endl;
  180. }
  181. else if (p == 7)
  182. {
  183. DoubleDeque.Sort();
  184. cout << "Ваши элементы отсортированы!" << endl;
  185. }
  186. else if (p == 8)
  187. return 0;
  188. else
  189. cout << "Такого действия не существует! Попробуйте еще раз." << endl;
  190. }
  191. }
  192. else if (b == 4)
  193. {
  194. Deque<long long> LongDeque;
  195. for (int i = 0; i < 100; i++)
  196. {
  197. cout << "Возможные действия с объектом:" << endl;
  198. cout << "1. Добавление элемента в начало\n" << "2. Добавление элемента в конец\n" << "3. Удаление элемента из начала\n"
  199. << "4. Удаление элемента из конца\n" << "5. Просмотр последнего элемента\n" << "6. Вывод количества элемементов\n" <<
  200. "7. Сортировка элементов\n" << "8. Окончание программы" << endl;
  201. int p;
  202. cin >> p;
  203. if (p == 1)
  204. {
  205. cout << "Введите элемент, который хотите добавить" << endl;
  206. long long elem;
  207. cin >> elem;
  208. LongDeque.PushFront(elem);
  209. cout << "Элемент " << elem << " добавлен в начало!" << endl;
  210. }
  211. else if (p == 2)
  212. {
  213. cout << "Введите элемент, который хотите добавить" << endl;
  214. long long elem;
  215. cin >> elem;
  216. LongDeque.PushBack(elem);
  217. cout << "Элемент " << elem << " добавлен в конец!" << endl;
  218. }
  219. else if (p == 3)
  220. {
  221. LongDeque.PopFront();
  222. cout << "Элемент удален из начала" << endl;
  223. }
  224. else if (p == 4)
  225. {
  226. LongDeque.PopBack();
  227. cout << "Элемент удален из конца" << endl;
  228. }
  229. else if (p == 5)
  230. {
  231. long long k = LongDeque.Back();
  232. cout << "Последний элемент вашего объекта - " << k << endl;
  233. }
  234. else if (p == 6)
  235. {
  236. long long k = LongDeque.GetSize();
  237. cout << "Количество элементов в вашем объекте равно " << k << endl;
  238. }
  239. else if (p == 7)
  240. {
  241. LongDeque.Sort();
  242. cout << "Ваши элементы отсортированы!" << endl;
  243. }
  244. else if (p == 8)
  245. return 0;
  246. else
  247. cout << "Такого действия не существует! Попробуйте еще раз." << endl;
  248. }
  249. }
  250. else
  251. cout << "Видимо, такой объект создать нельзя. Попробуйте другой." << endl;;
  252. }
  253.  
  254. return 0;
  255. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement