kutuzzzov

Задачи std::queue и std::array

Oct 13th, 2025
117
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 9.77 KB | None | 0 0
  1. ### **Задачи на `std::queue`**
  2.  
  3. #### **Задача 1: Базовые операции с очередью**
  4. **Условие:** Напишите функцию, которая добавляет элементы в очередь и выводит их.
  5.  
  6. #include <iostream>
  7. #include <queue>
  8.  
  9. // Функция для работы с очередью
  10.  
  11. int main() {
  12.     queueOperations();
  13.     return 0;
  14. }
  15.  
  16. ---
  17.  
  18. #### **Задача 2: Проверка пустоты очереди**
  19. **Условие:** Напишите функцию, которая проверяет, пуста ли очередь.
  20.  
  21. #include <iostream>
  22. #include <queue>
  23.  
  24. // Функция для проверки пустоты
  25.  
  26. int main() {
  27.     std::queue<int> queue;
  28.     std::cout << std::boolalpha;
  29.     std::cout << "Is empty? " << isEmpty(queue) << "\n"; // Вывод: Is empty? true
  30.  
  31.     queue.push(1);
  32.     std::cout << "Is empty? " << isEmpty(queue) << "\n"; // Вывод: Is empty? false
  33.  
  34.     return 0;
  35. }
  36.  
  37. ---
  38.  
  39. #### **Задача 3: Вычисление суммы элементов очереди**
  40. **Условие:** Напишите функцию, которая вычисляет сумму элементов очереди.
  41.  
  42. #include <iostream>
  43. #include <queue>
  44.  
  45. // Функция для вычисления суммы
  46.  
  47. int main() {
  48.     std::queue<int> queue;
  49.     queue.push(1);
  50.     queue.push(2);
  51.     queue.push(3);
  52.  
  53.     std::cout << "Sum: " << sumQueue(queue) << "\n"; // Вывод: Sum: 6
  54.  
  55.     return 0;
  56. }
  57.  
  58. ---
  59.  
  60. #### **Задача 4: Реализация очереди задач**
  61. **Условие:** Напишите функцию, которая моделирует выполнение задач из очереди.
  62.  
  63. #include <iostream>
  64. #include <queue>
  65. #include <string>
  66.  
  67. // Функция для выполнения задач
  68.  
  69. int main() {
  70.     std::queue<std::string> tasks;
  71.     tasks.push("Task 1");
  72.     tasks.push("Task 2");
  73.     tasks.push("Task 3");
  74.  
  75.     processTasks(tasks);
  76.  
  77.     // Вывод:
  78.     // Processing: Task 1
  79.     // Processing: Task 2
  80.     // Processing: Task 3
  81.  
  82.     return 0;
  83. }
  84.  
  85. ---
  86.  
  87. #### **Задача 6: Удаление элементов до определённого значения**
  88. **Условие:** Напишите функцию, которая удаляет элементы из очереди до определённого значения.
  89.  
  90. #include <iostream>
  91. #include <queue>
  92.  
  93. // Функция для удаления элементов
  94.  
  95. int main() {
  96.     std::queue<int> queue;
  97.     queue.push(1);
  98.     queue.push(2);
  99.     queue.push(3);
  100.     queue.push(4);
  101.  
  102.     removeUntil(queue, 3);
  103.  
  104.     while (!queue.empty()) {
  105.         std::cout << queue.front() << " "; // Вывод: 3 4
  106.         queue.pop();
  107.     }
  108.  
  109.     return 0;
  110. }
  111.  
  112. ---
  113.  
  114. #### **Задача 7: Минимальный элемент в очереди**
  115. **Условие:** Напишите функцию, которая находит минимальный элемент в очереди.
  116.  
  117. #include <iostream>
  118. #include <queue>
  119.  
  120. // Функция для поиска минимума
  121.  
  122. int main() {
  123.     std::queue<int> queue;
  124.     queue.push(5);
  125.     queue.push(3);
  126.     queue.push(8);
  127.  
  128.     std::cout << "Min: " << findMin(queue) << "\n"; // Вывод: Min: 3
  129.  
  130.     return 0;
  131. }
  132.  
  133. ---
  134.  
  135. #### **Задача 8: Объединение двух очередей**
  136. **Условие:** Напишите функцию, которая объединяет две очереди в одну.
  137.  
  138. #include <iostream>
  139. #include <queue>
  140.  
  141. // Функция для объединения очередей
  142.  
  143. int main() {
  144.     std::queue<int> queue1;
  145.     queue1.push(1);
  146.     queue1.push(2);
  147.  
  148.     std::queue<int> queue2;
  149.     queue2.push(3);
  150.     queue2.push(4);
  151.  
  152.     std::queue<int> merged = mergeQueues(queue1, queue2);
  153.  
  154.     while (!merged.empty()) {
  155.         std::cout << merged.front() << " "; // Вывод: 1 2 3 4
  156.         merged.pop();
  157.     }
  158.  
  159.     return 0;
  160. }
  161.  
  162. ---
  163.  
  164. #### **Задача 9: Проверка наличия элемента**
  165. **Условие:** Напишите функцию, которая проверяет, содержится ли элемент в очереди.
  166.  
  167. #include <iostream>
  168. #include <queue>
  169.  
  170. // Функция для проверки наличия элемента
  171.  
  172. int main() {
  173.     std::queue<int> queue;
  174.     queue.push(1);
  175.     queue.push(2);
  176.     queue.push(3);
  177.  
  178.     std::cout << std::boolalpha;
  179.     std::cout << "Contains 3? " << contains(queue, 3) << "\n"; // Вывод: Contains 3? true
  180.  
  181.     return 0;
  182. }
  183.  
  184. ---
  185.  
  186. #### **Задача 10: Разделение очереди на чётные и нечётные числа**
  187. **Условие:** Напишите функцию, которая разделяет очередь на две: с чётными и нечётными числами.
  188.  
  189. #include <iostream>
  190. #include <queue>
  191.  
  192. // Функция для разделения очереди
  193.  
  194. int main() {
  195.     std::queue<int> queue;
  196.     queue.push(1);
  197.     queue.push(2);
  198.     queue.push(3);
  199.     queue.push(4);
  200.  
  201.     std::queue<int> evens, odds;
  202.     splitQueue(queue, evens, odds);
  203.  
  204.     std::cout << "Evens: ";
  205.     while (!evens.empty()) {
  206.         std::cout << evens.front() << " "; // Вывод: Evens: 2 4
  207.         evens.pop();
  208.     }
  209.     std::cout << "\nOdds: ";
  210.     while (!odds.empty()) {
  211.         std::cout << odds.front() << " "; // Вывод: Odds: 1 3
  212.         odds.pop();
  213.     }
  214.  
  215.     return 0;
  216. }
  217.  
  218. ---
  219.  
  220. ### **Задачи на `std::array`**
  221.  
  222. #### **Задача 1: Базовые операции с массивом**
  223. **Условие:** Напишите функцию, которая изменяет первый элемент массива и выводит его.
  224.  
  225. #include <iostream>
  226. #include <array>
  227.  
  228. // Функция для изменения массива
  229.  
  230. int main() {
  231.     std::array<int, 5> arr = {1, 2, 3, 4, 5};
  232.     modifyArray(arr);
  233.     return 0;
  234. }
  235.  
  236. ---
  237.  
  238. #### **Задача 2: Заполнение массива**
  239. **Условие:** Напишите функцию, которая заполняет массив заданным значением.
  240.  
  241. #include <iostream>
  242. #include <array>
  243.  
  244. // Функция для заполнения массива
  245.  
  246. int main() {
  247.     std::array<int, 5> arr;
  248.     fillArray(arr, 7);
  249.     return 0;
  250. }
  251.  
  252. ---
  253.  
  254. #### **Задача 3: Поиск максимального элемента**
  255. **Условие:** Напишите функцию, которая находит максимальный элемент в массиве.
  256.  
  257. #include <iostream>
  258. #include <array>
  259.  
  260. // Функция для поиска максимума
  261.  
  262. int main() {
  263.     std::array<int, 5> arr = {1, 5, 3, 4, 2};
  264.     std::cout << "Max: " << findMax(arr) << "\n"; // Вывод: Max: 5
  265.  
  266.     return 0;
  267. }
  268.  
  269. ---
  270.  
  271. #### **Задача 4: Сортировка массива**
  272. **Условие:** Напишите функцию, которая сортирует массив.
  273.  
  274. #include <iostream>
  275. #include <array>
  276. #include <algorithm>
  277.  
  278. // Функция для сортировки массива
  279.  
  280. int main() {
  281.     std::array<int, 5> arr = {5, 2, 4, 1, 3};
  282.     sortArray(arr);
  283.     return 0;
  284. }
  285.  
  286. ---
  287.  
  288. #### **Задача 5: Проверка наличия элемента**
  289. **Условие:** Напишите функцию, которая проверяет, содержится ли элемент в массиве.
  290.  
  291. #include <iostream>
  292. #include <array>
  293.  
  294. // Функция для проверки наличия элемента
  295.  
  296. int main() {
  297.     std::array<int, 5> arr = {1, 2, 3, 4, 5};
  298.     std::cout << std::boolalpha;
  299.     std::cout << "Contains 3? " << contains(arr, 3) << "\n"; // Вывод: Contains 3? true
  300.  
  301.     return 0;
  302. }
  303.  
  304. ---
  305.  
  306. #### **Задача 6: Вычисление суммы элементов массива**
  307. **Условие:** Напишите функцию, которая вычисляет сумму элементов массива.
  308.  
  309. #include <iostream>
  310. #include <array>
  311.  
  312. // Функция для вычисления суммы
  313.  
  314. int main() {
  315.     std::array<int, 5> arr = {1, 2, 3, 4, 5};
  316.     std::cout << "Sum: " << sumArray(arr) << "\n"; // Вывод: Sum: 15
  317.  
  318.     return 0;
  319. }
  320.  
  321. ---
  322.  
  323. #### **Задача 7: Переворот массива**
  324. **Условие:** Напишите функцию, которая переворачивает массив.
  325.  
  326. #include <iostream>
  327. #include <array>
  328. #include <algorithm>
  329.  
  330. // Функция для переворота массива
  331.  
  332. int main() {
  333.     std::array<int, 5> arr = {1, 2, 3, 4, 5};
  334.     reverseArray(arr);
  335.     return 0;
  336. }
  337.  
  338. ---
  339.  
  340. #### **Задача 8: Копирование массива**
  341. **Условие:** Напишите функцию, которая копирует один массив в другой.
  342.  
  343. #include <iostream>
  344. #include <array>
  345.  
  346. // Функция для копирования массива
  347.  
  348. int main() {
  349.     std::array<int, 5> source = {1, 2, 3, 4, 5};
  350.     std::array<int, 5> destination;
  351.     copyArray(source, destination);
  352.     return 0;
  353. }
  354.  
  355. ---
  356.  
  357. #### **Задача 9: Удаление дубликатов**
  358. **Условие:** Напишите функцию, которая удаляет дубликаты из массива.
  359.  
  360. #include <iostream>
  361. #include <array>
  362. #include <unordered_set>
  363.  
  364. // Функция для удаления дубликатов
  365.  
  366. int main() {
  367.     std::array<int, 5> arr = {1, 2, 2, 3, 4};
  368.     std::array<int, 5> result = removeDuplicates(arr);
  369.  
  370.     std::cout << "Unique elements: ";
  371.     for (const auto& value : result) {
  372.         std::cout << value << " "; // Вывод: Unique elements: 1 2 3 4 0
  373.     }
  374.  
  375.     return 0;
  376. }
  377.  
  378. ---
Advertisement
Add Comment
Please, Sign In to add comment