Задания к лабораторной работе.
Выполните приведенные ниже задания.
1. Дан стек заполненный случайным образом, из целых чисел. Удалить из него все отрицательные элементы, используя второй стек и одну переменную.
2. Дан стек заполненный целыми числами случайным образом. Удалить из стека все числа не кратные заданному с клавиатуры.
3. Дан стек, содержащий целые числа. Используя второй стек, записать в дно стека номер один сумму всех элементов.
4. Удалить из стека, который составлен из целых чисел заданных случайным образом, каждый второй элемент. На дне находится первый элемент.
5. Дан стек из целых чисел, заполненный случайным образом. При помощи второго стека удалить последний отрицательный элемент.
6. Дан стек заполненный элементами типа typeelem. Удалить из стека предпоследний элемент.
7. Дан стек заполненный элементами типа typeelem. Удалить из стека первый элемент и поместить его в вершину стека номер один.
8. Дан стек из целых чисел, заполненный случайным образом. Поместить вершину стека в дно, используя вспомогательный стек.
9. Дан стек заполненный случайным образом из целых чисел. Поменять в данном стеке содержимое вершины и дна.
10. Дан стек из целых чисел, заполненный случайными образом. Сравнить сумму положительных элементов с модулем суммы отрицательных элементов.
11. Дан стек из целых чисел. Поместить в дно стека сумму модулей всех элементов.
12. Дан стек из целых чисел. Поместить в дно стека произведение всех элементов.
13. Дан стек, заполненный случайными числами. Вычесть из всех элементов стека число вводимое с клавиатуры. Используйте второй стек для хранения данных.
14. Дан стек из целых чисел. Прибавить ко всем элементам число вводимое с клавиатуры.
15. В стек записаны элементы типа typeelem. Записать содержимое стека в обратном порядке в тот же стек. Используйте два вспомогательных стека.
Указания к выполнению работы.
Каждое задание необходимо решить в соответствии с изученными методами формирования, вывода и обработки данных очередей и стеков в языке С++. Обработку очередей или стеков следует выполнить на основе базовых алгоритмов: поиск, вставка элемента, удаление элемента, удаление всей динамической структуры. При объявлении списков выполните комментирование используемых полей. Задачи 2 и 4 носят исследовательский характер, поэтому при составлении отчета к ним следует подробно описать предлагаемый метод оценки максимального размера очереди или стека. Программу для решения каждого задания необходимо разработать методом процедурной абстракции, оформив комментарии к коду.
Следует реализовать каждое задание в соответствии с приведенными этапами:
изучить словесную постановку задачи, выделив при этом все виды данных;
сформулировать математическую постановку задачи;
выбрать метод решения задачи, если это необходимо;
разработать графическую схему алгоритма;
записать разработанный алгоритм на языке С++;
разработать контрольный тест к программе;
отладить программу;
представить отчет по работе.
Do'stlaringiz bilan baham: |