Тема 3 stl бибилиотеки. Классы контейнеров. Линейные контейнеры


Download 224.66 Kb.
Pdf ko'rish
Sana16.06.2023
Hajmi224.66 Kb.
#1500221
Bog'liq
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 pazliddinovbexzod(25); 
std::random_device rd; 
std::mt19937 gen(rd()); 
std::uniform_int_distribution dis(0, 100); 
// Заполнение контейнера случайными значениями 
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