Библиотека stl. Контейнеры. Последовательные контейнеры array, vector, list, forward list, deque
Download 0.5 Mb.
|
1 2
- Bu sahifa navigatsiya:
- Принял: Абдурахманов А. Ташкент 2023 Вариант – 10 Задание 1. Выполнить следующее
ТАШКЕНТСКИЙ УНИВЕРСИТЕТ ИНФОРМАЦИОННЫХ ТЕХНОЛОГИЙ ИМЕНИ МУХАММАДА АЛ-ХОРАЗМИЙ САМОСТОЯТЕЛЬНАЯ ПРАКТИЧЕСКАЯ РАБОТА №1. По предмету «Программирование» на тему: «Библиотека STL. Контейнеры. Последовательные контейнеры array, vector, list, forward_list, deque.» Выполнил: Студент группы 233-22 Факультета КИ Направление ИТ-сервис Турсунбаев Азамат Принял: Абдурахманов А. Ташкент 2023 Вариант – 10 Задание 1. Выполнить следующее: 1. Создать объект-контейнер в соответствии с вариантом задания и заполнить его данными в указанном количестве и в интервале с помощью генератора случайных чисел , тип которых определяется вариантом задания. 2. Вывести содержимое контейнера на экран. 3. Изменить контейнер, удалив из него (см. таб. пункт 3) элемент 4. Затем в конец добавит (см. таб. Пункт 4.) элемент. 5. Вывести содержимое контейнера на экран, используя для доступа к его элементам итераторы. 6. Изменить первый контейнер, удалив из него 3 элемента начиная с N -го элемента (например, если N=2, то начиная c 2 элемента, т.е. 2-ой, 3-ий и 4-тые элементы должны быт удалены.). 7. Создать второй контейнер этого же класса (c размерностью 1-го после выполнения 6 пункта) и заполнить его данными того же типа, что и первый контейнер. 8. Сравнить оба контейнера. 9. Меньшее из них добавит к в конец большего. 10. Просмотрет оба контейнера.
Код: #include #include #include #include using namespace std; int main() { list random_device rd; mt19937 gen(rd()); uniform_real_distribution<> dis(100.0, 500.0); // Заполнение контейнера случайными значениями generate(container.begin(), container.end(), [&]() { return dis(gen); }); // Вывод содержимого контейнера cout << "Контейнер:" << endl; for (auto it = container.begin(); it != container.end(); ++it) { cout << *it << " "; } cout << endl; // Удаление 9-го элемента и добавление максимального элемента в конец auto it = container.begin(); advance(it, 8); container.erase(it); container.push_back(*max_element(container.begin(), container.end())); // Вывод содержимого контейнера с помощью итераторов cout << "Модифицированный контейнер:" << endl; for (auto it = container.begin(); it != container.end(); ++it) {cout << *it << " ";} cout << endl; // Удаление 3 элементов начиная с 10-го it = container.begin(); advance(it, 9); container.erase(it, next(it, 3)); // Создание второго контейнера и заполнение его случайными значениями того же типа list generate(container2.begin(), container2.end(), [&]() { return dis(gen); }); // Сравнение контейнеров и добавление меньшего в конец большего if (container.size() < container2.size()) { container.splice(container.end(), container2, container2.begin()); } else { container2.splice(container2.end(), container, container.begin()); } // Вывод содержимого обоих контейнеров cout << "Последний контейнер 1:" << endl; for (auto it = container.begin(); it != container.end(); ++it) {cout << *it << " ";} cout << endl; cout << "Последний контейнер 2:" << endl; for (auto it = container2.begin(); it != container2.end(); ++it) { cout << *it << " "; } cout << endl; return 0; } Download 0.5 Mb. Do'stlaringiz bilan baham: |
1 2
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling