Лабораторная работа стандартные алгоритмы и итераторы библиотеки stl цель работы: Изучить стандартные алгоритмы и итераторов библиотеки stl и разработка алгоритмов выполнения задач с этими
Download 30.18 Kb.
|
- Bu sahifa navigatsiya:
- Поставленная задача
2-Лабораторная работа СТАНДАРТНЫЕ АЛГОРИТМЫ И ИТЕРАТОРЫ БИБЛИОТЕКИ STL Цель работы: Изучить стандартные алгоритмы и итераторов библиотеки stl и разработка алгоритмов выполнения задач с этими темами. Поставленная задача: Создание элементов стандартных алгоритмов и итераторов на языке Visual C++, разработка программы выполнения различных действий на нем. Порядок работы: Изучение теоретических данных лабораторной работы; Разработка алгоритма заданной задачи; Создание программы в среде программирования Visual C++; Проверка результатов; Подготовка и представление отчета для лабораторной работы. ЗАДАНИЯ №1 Используя функции из библиотеки algorithm generate() и for_each() заполните контейнер list случайными числами в интервале [-20; +20] в количестве N=20. С помощью итераторов вывести на экран содержимое контейнера. Подсчитать количество отрицательных элементов (count_if()). Заменить все элементы равные -10 на 88 (replace() ). Вывести на экран содержимое контейнера. Используя функции из библиотеки algorithm generate() и for_each() заполните контейнер vector случайными числами в интервале [-30; +30] в количестве N=20. С помощью итераторов вывести на экран содержимое контейнера. Подсчитать количество элементов со значением 11 (count()). Заменить все элементы меньше -10 на 55 (replace_if() ). Вывести на экран содержимое контейнера. Используя функции из библиотеки algorithm generate() и for_each() заполните контейнер deque случайными числами в интервале [-30; +30] в количестве N=20. С помощью итераторов вывести на экран содержимое контейнера. Используя функции minmax_element() вывести разницу между наибольшим и наменишим значением элементов контейнера. Используя функции из библиотеки algorithm generate() и for_each() заполните контейнер vector случайными числами в интервале [-40; +40] в количестве N=20. С помощью итераторов вывести на экран содержимое контейнера. Используя функции minmax()_element() и distance()_вывести растояние между наибольшим и наименьшим значением элементов контейнера. Используя функции из библиотеки algorithm generate() и for_each() заполните контейнер list случайными числами в интервале [-25; +25] в количестве N=20. С помощью итераторов вывести на экран содержимое контейнера. Используя функции minmax_element() и fill(), заменит все значение элементов расположенных между наибольшим и наименьшим значением элементов контейнера на 33. Вывести на экран содержимое контейнера. Используя функции из библиотеки algorithm generate() и for_each() заполните контейнер list случайными числами в интервале [-15; +25] в количестве N=20. С помощью итераторов вывести на экран содержимое контейнера. Изменить значение на 44 5 - ти элементам начиная с 10-го элемента (fill()). Вывести на экран содержимое контейнера. Используя функции из библиотеки algorithm generate() и for_each() заполните контейнер degue случайными числами в интервале [-10; +25] в количестве N=20. С помощью итераторов вывести на экран содержимое контейнера. Создать 2- ой контейнер и заполнитmь его значениями из 1 –го контейнера в обратном порядке (copy_backward()). Вывести на экран содержимое контейнера. Cоздать два контейнера vector и заполнитm их случайными числами в дипазоне [-15; +30] с помощью функции generate_n() (N=20). С помощью итераторов вывести на экран содержимое контейнера. Ппроизвести сортировку (sort) и объединит их (merge()). Вывести на экран содержимое контейнера. Cоздать два контейнера vector и заполнитm их случайными числами в дипазоне [-15; +35] с помощью функции generate_n() (N1=20, N2=3). С помощью итераторов вывести на экран содержимое контейнеров. Определить последнее вхождение последовательности элементов 2-го контейнера в первом (find_end()). Cоздать два контейнера vector и заполнитm их случайными числами в дипазоне [-25; +15] с помощью функции generate_n() (N1=20, N2=3). С помощью итераторов вывести на экран содержимое контейнера. Определить первое вхождение последовательности элементов 2-го контейнера в первом (search ()). Используя функции из библиотеки algorithm generate() и for_each() заполните контейнер list случайными числами в интервале [-20; +20] в количестве N=20. С помощью итераторов вывести на экран содержимое контейнера. Подсчитать количество отрицательных элементов (count_if()). Удалить все элементы меньше -10. Вывести на экран содержимое контейнера. Cоздать контейнер list и заполнитm их случайными числами в дипазоне [-35; +30] с помощью функции generate_n() (N=20). Определит место расположение относително начало самого наибольшего элемента(max_element()) и найти сумму всех элементов расположенных до него (accumulate()). Cоздать контейнер degue и заполнитm их случайными числами в дипазоне [-35; +30] с помощью функции generate_n() (N=20). Определит место расположение относително начало самого наименьшего элемента(min_element()) и найти суму всех элементов расположенных после него (accumulate()). Используя функции из библиотеки algorithm generate() и for_each() заполните контейнер degue случайными числами в интервале [1; +50] в количестве N=20. С помощью итераторов вывести на экран содержимое контейнера. Определить, есть ли хотя бы один элемент кратное к 7 (any_of()). Если еть, то солько их (count_if()).? Используя функции из библиотеки algorithm generate() и for_each() заполните контейнер list случайными числами в интервале [1; +50] в количестве N=20. С помощью итераторов вывести на экран содержимое контейнера. Cкопировать во второй контейнер все элементы с перого контейнера, кроме кратных 4. Вывести на экран содержимое 2 –го контейнера (remove_copy_if ()). Cоздать контейнер vector и заполнит их случайными числами в дипазоне [-25; +55] с помощью функции generate_n() (N=20). С помощью итераторов вывести на экран содержимое контейнера. Копирует все элементы из 1-го контейнера на 2-ое заменяя все элементы кратные к 5 знчением 0 (replace_copy_if). Подсчитать количество элементов отличного от 0. Вывести на экран содержимое 2 –го контейнера. Cоздать контейнер list и заполнит их случайными числами в дипазоне [7; +77] с помощью функции generate_n() (N=20). С помощью итераторов вывести на экран содержимое контейнера. Найти первые два соседних элемента, кратное к 3 (adjacent_find). Подсчитать сколько таких в контейнере. Cоздать контейнер vector и заполнит их случайными числами в дипазоне [6; +66] с помощью функции generate_n() (N=20). С помощью итераторов вывести на экран содержимое контейнера. Разделить контейнер на две группы, на кратные и не на кратные к 6 (partition()). Вывести на экран содержимое обоих групп (каждая группа в отдельной строке. Cоздать два контейнера deque и заполнит их случайными числами в дипазоне [50; 99] с помощью функции generate_n() (N1=20). С помощью итераторов вывести на экран содержимое контейнеров. Отсортировать контейнеры (sort(). Скопировать элементы из отсортированного 1-го контейнера, которые не встречаются в отсортированном 2-ом контейнере в 3 –й контейнер. Вывести на экран содержимое 3- го контейнера (set_difference()) . Cоздать два контейнера list и заполнит их случайными числами в дипазоне [9; 99] с помощью функции generate_n() (N=20). С помощью итераторов вывести на экран содержимое контейнеров. Отсортировать контейнеры (sort(). Создать 3- й контейнер, состоящей из элементов, которые встречаются в обоих контейнерах (set_intersection()). Cоздать контейнер vector и заполнит их случайными числами в дипазоне [7; 77] с помощью функции generate_n() (N=20). С помощью итераторов вывести на экран содержимое контейнера. Разделить контейнер на две группы, на четных и не четных (partition()). Вывести на экран содержимое обоих групп (каждая группа в отдельной строке. Cоздать два контейнера list и заполнит их случайными числами в дипазоне [4; 44] с помощью функции generate_n() (N=20). С помощью итераторов вывести на экран содержимое контейнеров. Отсортировать контейнеры (sort(). Создать отсортированный 3- й контейнер, состоящий из всех элементов, присутствующих в одном или обоих контейнерах (set_union()). Cоздать два контейнера list и заполнит их случайными числами в дипазоне [-10; 24] с помощью функции generate_n() (N=20). С помощью итераторов вывести на экран содержимое контейнеров. Найти первую позицию, в которой два контейнера различаются (mismatch((). Вывести место расположение этих 2- х элементов относительно начало аждого из контейнеров. Используя функции из библиотеки algorithm generate() и for_each() заполните контейнер vector случайными числами в интервале [-50; +50] в количестве N=20. С помощью итераторов вывести на экран содержимое контейнера. Используя функции удалить последовательные повторяющиеся элементы в контейнере(unique((). Найти сумму оставшихся элементов (accumulate)). Cоздать два контейнера list заполните контейнер array случайными числами в интервале [-50; +50] в количестве N=20. С помощью итераторов вывести на экран содержимое контейнера. Вычислить скалярное прозведение двух векторов. ЗАДАНИЕ 2 1) Создайте динамический массив из N(N=20 - вводится пользователем) элементов целочисленного типа с значением равным 5. 2) Вывести на экран содержимое контейнера. Для этого создайте шаблонную функцию. 3) Содержимое массива заменить случайными числами из интервала [a;b] с помощью шаблонной функции generate() из библиотеки algorithm. 4) Вывести на экран содержимое контейнера 5) Вывести на экран максимальное значение из всех элементов массива с помощью шаблонной функции max_element() из библиотеки algorithm 6) Удалить из контейнера 3 элемента начиная с 2 элемента 7) Организуйте ввод с клавиатуры ввод числа из интервала [a;b] 8) Проверьте есть ли такое число в контейнере с помощью шаблонной функции find() из библиотеки algorithm 9) Определите количество вхождений этого числа в контейнере с помощью шаблонной функции count() из библиотеки algorithm 10) Определите количество элементов меньших этого числа с помощью шаблонной функции count_if() из библиотеки algorithm 11) Вычислить сумму всех элементов контейнера с помощью шаблонной функции accumulate() из библиотеки numeric 12) Произбедите сортировку массива по возрастанию с помощью шаблонной функции sort() из библиотеки algorithm 13) Вывести на экран содержимое контейнера 14) Вывести на экран содержимое контейнера в обратном порядке Download 30.18 Kb. Do'stlaringiz bilan baham: |
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling