Разработать модули для работы с информационно-логическими структурами – стеком, очередью и деком. Модули должны обеспечивать следующие возможности работы со структурами:
Для каждой структуры написать две реализации: на основе динамического массива и на основе списка.
На основе базовых операций со структурами необходимо разработать следующие подпрограммы:
При всех операциях соблюдать правила работы с информационно-логическими структурами – доступ осуществляется только к первому и/или последнему элементу структуры. Для вывода и удаления перекладывать элементы структуры в другую аналогичную структуру.
Подпрограммы ввода, вывода и удаления элементов из структуры не должны зависеть от реализации базовых подпрограмм для работы со структурой и должны быть реализованы в отдельном модуле.
К основной программе необходимо подключать модули для работы со всеми структурами (стеком, очередью и деком), при этом основная программа не должна меняться при подключении модуля с другой реализацией той же структуры.
В стек, очередь и дек вводить одни и те же данные (из одного и того же файла)!
Разработать программу, к которой будут подключаться разработанные модули. Программа должна сделать следующее:
После каждого изменения выводить содержимое структур.
Имена файлов передаются через параметры программы.
№ | Тип данных | Диапазон | Удалять |
---|---|---|---|
1. | целые числа | от -20 до +60 | элементы, кратные 5 |
2. | вещественные числа | от -19,9 до +59,9 | отрицательные элементы |
3. | символы | от а до я | гласные буквы |
4. | целые числа | от -100 до +100 | чётные элементы |
5. | вещественные числа | от -99,9 до +99,9 | положительные элементы |
6. | символы | от A до Z | символы, большие D |
7. | целые числа | от -20 до +60 | элементы, большие 15 |
8. | вещественные числа | от -19,9 до +59,9 | элементы, большие 28,6 |
9. | символы | от #33 до #94 | знаки препинания |
10. | целые числа | от -150 до +150 | элементы, модуль которых больше 100 |
11. | вещественные числа | от -19,9 до +19,9 | элементы, модуль которых больше 10 |
12. | символы | от А до Я | символы Д и Е |
13. | целые числа | от -15 до +25 | нечётные элементы |
14. | вещественные числа | от -39,9 до +9,9 | положительные элементы |
15. | символы | от a до z | символы b и r |
16. | целые числа | от -20 до +50 | элементы, попадающие в диапазон -10..+30 |
17. | вещественные числа | от -4,99 до +14,99 | элементы, попадающие в диапазон -1,5..+8,6 |
18. | символы | от a до z | гласные буквы |
19. | целые числа | от +10 до +1000 | элементы, кратные 3 |
20. | вещественные числа | от -4,9 до +1,9 | отрицательные элементы |
21. | символы | от #65 до #250 | символы кириллицы |
22. | целые числа | от -30 до +50 | элементы, большие 12 |
23. | вещественные числа | от -9,9 до +49,9 | элементы, большие 27,8 |
24. | символы | от А до Я | элементы, большие Ж |
25. | целые числа | от -100 до +100 | элементы, попадающие в диапазон -15..+43 |
26. | вещественные числа | от -99,9 до +99,9 | элементы, попадающие в диапазон -50,6..+71,2 |
27. | символы | от A до Z | элементы, попадающие в диапазон F..Q |
28. | целые числа | от -20 до +50 | нечётные элементы |
29. | вещественные числа | от -24,99 до +34,99 | элементы, модуль которых больше 7 |
30. | символы | от a до z | элементы, попадающие в диапазон d..n |
31. | целые числа | от -50 до +50 | чётные элементы |
32. | вещественные числа | от -9,9 до +9,9 | положительные элементы |
33. | символы | от A до Z | символы, меньшие F |
34. | целые числа | от -10 до +90 | элементы, большие 15 |
35. | вещественные числа | от -59,9 до +89,9 | элементы, большие -15,8 |
36. | символы | от #65 до #126 | символы, отличные от буквы |