Тема 2 Контейнеры (Коллекции). Stl бибилиотеки. Классы контейнеров. Линейные контейнеры


Download 396.9 Kb.
Sana05.05.2023
Hajmi396.9 Kb.
#1428791
TuriЛекции

ТЕМА 2 Контейнеры (Коллекции). STL бибилиотеки. Классы контейнеров. Линейные контейнеры (array, vector).

Количество символов в ФИ – 22 (>15). Номер варианта – 22-18=4


OMONOVA =7
MUXTASARXON=11
Задания (для самостоятельного выполнения). Выполнить следующее:
1. Создать объект-контейнер c именем состоящих из заглавных букв ФИО.
2. В соответствии с вариантом задания, заполнить его данными в указанном количестве и в интервале с помощью генератора случайных чисел, тип которых определяется вариантом задания. 3. Вывести значения элементов контейнера на экран.
4. Создать объект-контейнер c именем состоящих из заглавных букв ФИ.
5. Заполнить его данными из контейнера , удовлетворящими условию указанной таблице (см. Пункт 5).
6. Вывести значения элементов контейнера на экран.
7. Изменить контейнер, удалив из него (см. таб. Пункт 7) элементы.
8. Затем в конец добавит (см. таб. П. 8) элемент.
9. Вывести на экран размер контейнера (кол-во элементов).
10.Просмотреть контейнер, используя для доступа к его элементам итераторы.
Код:
#include
#include
#include
#include
#include

int main() {
// Создаем объект-контейнер c именем "omonova" и заполняем его случайными значениями
std::array omonova;
std::random_device rd;
std::mt19937 gen(rd());
std::uniform_real_distribution dist(-10, 70);
for (auto& elem : omonova) {
elem = dist(gen);
}

// Выводим значения элементов контейнера на экран
std::cout << "Array omonova: ";
for (const auto& elem : omonova) {
std::cout << elem << " ";
}
std::cout << std::endl;

// Создаем объект-контейнер c именем "Omonova" и заполняем его значениями из контейнера ,
// которые меньше 9
std::vector Omonova;
std::copy_if(omonova.begin(), omonova.end(), std::back_inserter(Omonova), [](double elem){ return elem < 9; });

// Выводим значения элементов контейнера на экран
std::cout << "Vector Omonova: ";
for (const auto& elem : Omonova) {
std::cout << elem << " ";
}
std::cout << std::endl;

// Изменяем контейнер, удаляя из него элементы, не кратные 2
Omonova.erase(std::remove_if(Omonova.begin(), Omonova.end(), [](double elem){ return static_cast(elem) % 2 != 0; }), Omonova.end());

// Выводим размер контейнера на экран
std::cout << "Size of vector Omonova after removing elements: " << Omonova.size() << std::endl;

// Добавляем в конец контейнера элемент, равный минимальному значению в контейнере
Omonova.push_back(*std::min_element(omonova.begin(), omonova.end()));

// Выводим размер контейнера на экран
std::cout << "Size of vector Omonova after adding an element: " << Omonova.size() << std::endl;

// Просматриваем контейнер с помощью итераторов
std::cout << "Vector Omonova: ";
for (auto it = Omonova.begin(); it != Omonova.end(); ++it) {
std::cout << *it << " ";
}
std::cout << std::endl;

return 0;
}
Скриншоты:

Download 396.9 Kb.

Do'stlaringiz bilan baham:




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling