Шаблоны

Разработать шаблоны для указанных классов. Пример разработки шаблона класса см. в лекции 15.

  1. Для нечётных вариантов:
    • однонаправленный список;
    • дек на основе массива.
  2. Для чётных вариантов:
    • двунаправленный список;
    • очередь на основе массива.

Шаблон должен представлять структуру в общем виде. Ни в коем случае не реализовывать через функции-члены класса задание конкретного варианта!

Решить задание своего и следующего варианта.

Разработать необходимый и достаточный набор функций-членов класса. Для ввода и вывода структур использовать перегрузку операций >> и <<.

Задания для работы со списками

  1. Если в списке из целых чисел есть элементы, кратные 5, удалить из списка отрицательные элементы.
  2. Если в списке из вещественных чисел максимальный элемент меньше заданного числа, удалить из списка элементы, не попадающие в заданный диапазон.
  3. Если в списке из символов количество латинских букв больше половины общего количества элементов списка, удалить из списка знаки препинания.
  4. Если в списке из целых чисел максимальный элемент больше заданного числа, удалить из списка чётные элементы.
  5. Если в списке из вещественных чисел количество положительных элементов больше заданного числа, удалить из списка отрицательные элементы.
  6. Если в списке из символов есть латинские буквы, удалить из списка знаки препинания.
  7. Если в списке из целых чисел количество элементов, кратных 7, больше половины общего количества элементов списка, удалить из списка чётные элементы.
  8. Если в списке из вещественных чисел есть положительные элементы, удалить из списка элементы, большие заданного числа.
  9. Если в списке из символов максимальный элемент является латинской буквой, удалить из списка знаки препинания.
  10. Если в списке из целых чисел есть чётные элементы, удалить из списка положительные элементы.
  11. Если в списке из вещественных чисел минимальный элемент положителен, удалить из списка элементы, меньшие заданного числа.
  12. Если в списке из символов количество знаков препинания меньше заданного числа, удалить из списка заглавные буквы (и латинские, и русские).
  13. Если в списке из целых чисел минимальный элемент кратен 3, удалить из списка нечётные элементы.
  14. Если в списке из вещественных чисел количество отрицательных элементов меньше трети общего количества элементов списка, удалить из списка элементы, попадающие в заданный диапазон.
  15. Если в списке из символов есть цифры, удалить из списка русские буквы.
  16. Если в списке из целых чисел количество нечётных элементов меньше заданного числа, удалить из списка положительные элементы.
  17. Если в списке из вещественных чисел есть отрицательные элементы, удалить из списка элементы, попадающие в заданный диапазон.
  18. Если в списке из символов минимальный элемент является цифрой, удалить из списка латинские буквы.
  19. Если в списке из целых чисел есть нечётные элементы, удалить из списка элементы, большие заданного числа.
  20. Если в списке из вещественных чисел максимальный элемент не попадает в заданный диапазон, удалить из списка элементы, большие заданного числа.
  21. Если в списке из символов количество цифр больше трети общего количества элементов списка, удалить из списка строчные буквы (и латинские, и русские).
  22. Если в списке из целых чисел максимальный элемент попадает в заданный диапазон, удалить из списка отрицательные элементы.
  23. Если в списке из вещественных чисел количество элементов, не попадающих в заданный диапазон больше половины общего количества элементов списка, удалить из списка элементы, большие заданного числа.
  24. Если в списке из символов есть латинские буквы, удалить из списка цифры.
  25. Если в списке из целых чисел количество чётных элементов меньше трети общего количества элементов списка, удалить из списка элементы, кратные 6.
  26. Если в списке из вещественных чисел есть элементы, меньшие заданного числа, удалить из списка отрицательные элементы.
  27. Если в списке из символов максимальный элемент является русской буквой, удалить из списка цифры.
  28. Если в списке из целых чисел сумма элементов, кратных 5, больше заданного числа, удалить из списка положительные элементы.
  29. Если в списке из вещественных произведение положительные элементы больше заданного числа, удалить из списка отрицательные элементы.
  30. Если в списке из символов есть цифры, удалить из списка знаки препинания.

Задания для работы с очередью и деком

Разделить исходную структуру на две такие же структуры. В первую поместить элементы, удовлетворяющие условию, во вторую – элементы, не удовлетворяющие условию.

  1. Создать структуру из символов. Разделить её содержимое на латинские буквы и прочие символы.
  2. Создать структуру из целых чисел. Разделить её содержимое на чётные и нечётные числа.
  3. Создать структуру из вещественных чисел. Разделить её содержимое на положительные и неположительные числа.
  4. Создать структуру из символов. Разделить её содержимое на цифры и прочие символы.
  5. Создать структуру из целых чисел. Разделить её содержимое на отрицательные и неотрицательные числа.
  6. Создать структуру из вещественных чисел. Разделить её содержимое на числа, попадающие и непопадающие в заданный диапазон.
  7. Создать структуру из символов. Разделить её содержимое на знаки препинания и прочие символы.
  8. Создать структуру из целых чисел. Разделить её содержимое на числа, кратные и некратные заданному числу.
  9. Создать структуру из вещественных чисел. Разделить её содержимое на числа, большие заданного числа и не большие заданного числа.
  10. Создать структуру из символов. Разделить её содержимое на русские буквы и прочие символы.
  11. Создать структуру из целых чисел. Разделить её содержимое на числа, попадающие и непопадающие в заданный диапазон.
  12. Создать структуру из вещественных чисел. Разделить её содержимое на отрицательные и неотрицательные числа.
  13. Создать структуру из символов. Разделить её содержимое на символы, входящие в заданное слово, и прочие символы.
  14. Создать структуру из целых чисел. Разделить её содержимое на чётные и нечётные числа.
  15. Создать структуру из вещественных чисел. Разделить её содержимое на числа, меньшие заданного числа и не меньшие заданного числа.
  16. Создать структуру из символов. Разделить её содержимое на строчные буквы и прочие символы.
  17. Создать структуру из целых чисел. Разделить её содержимое на положительные и неположительные числа.
  18. Создать структуру из вещественных чисел. Разделить её содержимое на числа, попадающие и непопадающие в заданный диапазон.
  19. Создать структуру из символов. Разделить её содержимое на заглавные буквы и прочие символы.
  20. Создать структуру из целых чисел. Разделить её содержимое на числа, кратные и некратные заданному числу.
  21. Создать структуру из вещественных чисел. Разделить её содержимое на положительные и неположительные числа.
  22. Создать структуру из символов. Разделить её содержимое на латинские буквы и прочие символы.
  23. Создать структуру из целых чисел. Разделить её содержимое на чётные и нечётные числа.
  24. Создать структуру из вещественных чисел. Разделить её содержимое на положительные и неположительные числа.
  25. Создать структуру из символов. Разделить её содержимое на цифры и прочие символы.
  26. Создать структуру из целых чисел. Разделить её содержимое на отрицательные и неотрицательные числа.
  27. Создать структуру из вещественных чисел. Разделить её содержимое на числа, попадающие и непопадающие в заданный диапазон.
  28. Создать структуру из символов. Разделить её содержимое на знаки препинания и прочие символы.
  29. Создать структуру из целых чисел. Разделить её содержимое на числа, кратные и некратные заданному числу.
  30. Создать структуру из вещественных чисел. Разделить её содержимое на числа, большие заданного числа и не большие заданного числа.