Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
+ЭУМКД КИТ-ч1-Бутов.docx
Скачиваний:
9
Добавлен:
05.05.2019
Размер:
262.85 Кб
Скачать

Контрольная работа 2 Методические указания

КР 2 предназначена для приобретения практических навыков работы с материалом, относящимся к теме 13: «Динамические структуры данных». В качестве динамической структуры данных служит очередь или стек. При этом элементы очереди (стека) можно создавать по мере необходимости в динамической памяти или же сразу реализовать очередь (стек) на основе массива и больше память не распределять.

Варианты заданий

  1. Создайте очередь для целых (положительных и отрицательных) чисел. Создайте функции push и pop для ввода и вывода элементов очереди. Введите в очередь 10 чисел. Выведите на экран 2 первых отрицательных числа очереди.

  2. Создайте стек для целых чисел. Создайте функции push и pop для ввода и вывода элементов стека. Вводите числа с клавиатуры. При этом должна выполняться проверка, блокирующая попадание в стек отрицательных чисел. После добавления в стек числа 0 выведите на экран содержимое стека.

  3. Создайте очередь для целых чисел. Создайте функции push, pop и size для ввода и вывода элементов очереди и определения ее размера. Вводите в очередь числа. После ввода числа 0 выведите на экран сумму всех положительных чисел очереди и ее размер.

  4. Создайте стек для целых (положительных и отрицательных) чисел. Создайте функции push, pop и size для ввода и вывода элементов стека и определения его текущего размера. Вводите в стек числа. После ввода числа 0 выведите на экран все положительные числа, содержащиеся в стеке, затем – все отрицательные, а также размер стека.

  5. Создайте очередь для целых (положительных и отрицательных) чисел. Создайте функции push, pop и size для ввода и вывода элементов очереди и определения ее текущего размера. Вводите в очередь элементы до тех пор, пока не встретится число 0. Выведите на экран положительные элементы очереди (до первого отрицательного включительно), длину очереди и число элементов очереди, не выведенных на экран.

  6. Создайте очередь для символов. Создайте функции push, pop и size для ввода и вывода элементов очереди и определения ее текущего размера. Вводите в очередь символы с клавиатуры. В случае совпадения вводимого символа с последним элементом очереди (т.е. предыдущим введенным символом) выведите на экран размер очереди и ее содержимое.

  7. Создайте очередь для символов. Создайте функции push и pop для ввода и вывода элементов очереди. Вводите в очередь символы с клавиатуры, причем при совпадении вводимого символа с последним элементом очереди (т.е. предыдущим введенным символом) блокируйте ввод такого символа. В случае совпадения вводимого символа с эталонным символом (например #) выведите на экран содержимое очереди.

  8. Создайте очередь для символов. Создайте функции push и pop для ввода и вывода элементов очереди. В случае совпадения вводимого символа с последним элементом очереди (т.е. предыдущим введенным символом) удалите из очереди 2 первых элемента и выведите содержимое очереди на экран.

  9. Создайте два стека для символов. Вводите символы с клавиатуры, причем прописные символы должны попадать в первый стек, а строчные – во второй. После ввода с клавиатуры эталонного символа (например #) выведите на экран содержимое обоих стеков.

  10. Создайте очередь для целых чисел. Создайте функции push и pop для ввода и вывода элементов очереди. Введите в очередь 10 элементов. После этого перейдите в режим, при котором при вводе очередного элемента из очереди удаляется первый элемент. После ввода с клавиатуры числа 0 выведите на экран содержимое очереди.

  11. Создайте стек для символов и стек для целых чисел. Вводите в первый стек символы с клавиатуры. Одновременно во второй стек должны заноситься ASCI-коды (числовые значения) символов, вводимых в первый стек. В случае совпадения вводимого символа с символом вершины стека (т.е. предыдущим введенным символом) выведите на экран содержимое второго стека и его размер.

  12. Создайте два стека для символов. Вводите символы с клавиатуры. При этом прописные латинские буквы должны попадать в первый стек, а строчные латинские буквы – во второй. Символы, не являющиеся латинскими буквами, пропускаются. После ввода эталонного символа (например #) выведите на экран содержимое обоих стеков.

  13. Создайте стек для целых чисел. Создайте функции push и pop для ввода и вывода элементов стека. Вводите символы с клавиатуры. При этом в стек должны заноситься ASCI-коды (числовые значения) введенных символов. После ввода эталонного символа (например #) выведите на экран содержимое стека и его размер.

  14. Создайте два стека для символов. Вводите символы с клавиатуры. При этом латинские буквы должны попадать в первый стек, цифры – во второй, любые другие символы пропускаются. После ввода с клавиатуры эталонного символа (например #) выведите на экран содержимое обоих стеков.

  15. Создайте очередь для символов. Создайте функции push и pop для ввода и вывода элементов очереди. Вводите символы с клавиатуры. При этом в очередь должны попадать только символы, представляющие собой прописные латинские буквы. После ввода с клавиатуры эталонного символа (например #) выведите на экран содержимое очереди и ее длину.

  16. Создайте три очереди для символов. Заполните данными каждую из очередей. Выведите на экран содержимое самой длинной очереди и ее размер.

  17. Создайте две очереди для символов. Заполните данными сначала первую, затем вторую очередь (до ввода с клавиатуры эталонного символа). Проверьте, является ли вторая очередь частью первой очереди, и выведите на экран соответствующее сообщение. Выведите также содержимое каждой из очередей.

  18. Создайте три очереди для символов. Введите в первую, вторую и третью очередь соответственно фамилию, имя и отчество человека. Добавьте в первую очередь (через пробел) данные из второй очереди, затем из третьей. Выведите на экран содержимое первой очереди.

  19. Создайте два стека для символов. Вводите символы с клавиатуры в первый стек. В случае совпадения вводимого символа с символом вершины стека (т.е. с предыдущим введенным символом), введите этот символ и во второй стек. После ввода эталонного символа (например #) выведите на экран содержимое обоих стеков.

  20. Создайте стек для символов. Создайте функции push, pop и size для ввода и вывода элементов стека и определения его размера. Вводите символы с клавиатуры в стек. В случае совпадения вводимого символа с символом вершины стека (т.е. с предыдущим введенным символом), прекратите ввод и выведите на экран содержимое стека и его размер.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]