Тема 3 stl бибилиотеки. Классы контейнеров. Линейные контейнеры
Download 224.66 Kb. Pdf ko'rish
|
3pazliddinov
ТЕМА 3 STL бибилиотеки. Классы контейнеров. Линейные контейнеры (forward_list, list и deque) PAZLIDDINOV=11 BEXZOD =6 Количество символов в ФИ – 22 (>15). Номер варианта – 22-17=5 Задания (для самостоятельного выполнения). Выполнить следующее: 1. Создать объект-контейнер или c именем состоящих из заглавных букв ФИО. 2. В соответствии с вариантом задания, заполнить его данными в указанном количестве и в интервале с помощью генератора случайных чисел, тип которых определяется вариантом задания. 3. Вывести значения элементов контейнера на экран. 4. Изменить контейнер, удалив из него (см. таб. Пункт 4.) элемент 5. Затем в конец добавит (см. таб. Пункт 5) элемент. 6. Просмотреть контейнер, используя для доступа к его элементам итераторы. KODE: #include #include #include #include int main() { std::deque std::random_device rd; std::mt19937 gen(rd()); std::uniform_int_distribution // Заполнение контейнера случайными значениями for (auto& el : pazliddinovbexzod) { el = dis(gen); } // Вывод значений элементов контейнера на экран std::cout << "Initial deque: "; for (auto& el : pazliddinovbexzod) { std::cout << el << " "; } std::cout << std::endl; // Удаление максимального элемента auto max_it = std::max_element(pazliddinovbexzod.begin(), pazliddinovbexzod.end()); pazliddinovbexzod.erase(max_it); // Добавление нового элемента в середину контейнера auto middle_it = pazliddinovbexzod.begin() + pazliddinovbexzod.size() / 2; long middle_val = std::accumulate(pazliddinovbexzod.begin(), pazliddinovbexzod.end(), 0L) / pazliddinovbexzod.size(); pazliddinovbexzod.insert(middle_it, middle_val); // Вывод значений элементов контейнера на экран std::cout << "Modified deque: "; for (auto& el : pazliddinovbexzod) { std::cout << el << " "; } std::cout << std::endl; // Использование итераторов для доступа к элементам контейнера std::cout << "Deque accessed with iterators: "; for (auto it = pazliddinovbexzod.begin(); it != pazliddinovbexzod.end(); ++it) { std::cout << *it << " "; } std::cout << std::endl; std::cout << "Size of deque: " << pazliddinovbexzod.size() << std::endl; return 0; } RESUALT: Download 224.66 Kb. Do'stlaringiz bilan baham: |
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling