Практическое задание по программировании Эгамбердиев Шахджахан Задание 1
Download 202.57 Kb.
|
програм Шохжахон
- Bu sahifa navigatsiya:
- // Если есть, выводим информацию о ней cout } else {
- // Find and erase elements with value d auto it = mySet.find(d); if (it != mySet.end()) { mySet.erase(it);
- // Find the maximum element in the set int maxElem = *mySet.begin(); for (auto elem : mySet) { if (elem > maxElem) { maxElem = elem;
- // Determine number of segments and number of elements in each segment int numSegments = mySet.bucket_count();
Ташкентский Университет информационных технологий имени Мухаммада ал-Хоразмий Практическое задание по программировании Выполнил: Эгамбердиев Шахджахан Задание 1. В соответствии с вариантом задания решить задачу указанной в таблице, используя асоциативные контейнера set, multiset, map, multimap.
Код: #include #include #include using namespace std; int main() { setlocale(LC_ALL, "Russian"); map // Заполняем контейнер данными os["Windows"] = 1985; os["Mac OS"] = 1984; os["Ubuntu"] = 2004; // Просим пользователя ввести название операционной системы cout << "Введите название операционной системы: "; string name; getline(cin, name); // Проверяем, есть ли введенная ОС в контейнере if (os.count(name)) { // Если есть, выводим информацию о ней cout << "Операционная система \"" << name << "\" была выпущена в " << os[name] << " году." << endl; } else { // Если нет, сообщаем об этом пользователю cout << "Операционная система \"" << name << "\" не найдена." << endl; } return 0; } Задвние 2: Создать множество (вид множество см. таблицу) на базе хэш таблиц состоящих из N натуралных чисел полученных с помощью генератора случайных чисел из интервала [a; b]; Вывести эти числа на экран. Подсчитать количество элементов контейнера со значением равным c (с помощью метода count()). Организовать поиск элементов со значением d (метод find()) и удалить их (метод eras()). Вывести на экран текущий максимальный коэффициент загрузки. Вывести на экран количество сегментов и количество элементов в каждом сегменте. Определить в каком сегменте находися элемент контейнера со значением f. Значение а, b, c, d, f заданы в таблице ниже
Код: #include #include #include #include int main() { int a = 35, b = 42, c = 37, d = 39, f = 36, N = 15; // Set up random number generation std::mt19937 generator(time(0)); std::uniform_int_distribution // Populate the set with N random numbers std::unordered_multiset for (int i = 0; i < N; ++i) { mySet.insert(distribution(generator)); } // Print the set elements std::cout << "Set elements are: "; for (auto elem : mySet) { std::cout << elem << " "; } std::cout << std::endl; // Count elements with value c int countC = mySet.count(c); std::cout << "Number of elements with value c = " << c << " is: " << countC << std::endl; // Find and erase elements with value d auto it = mySet.find(d); if (it != mySet.end()) { mySet.erase(it); std::cout << "Erased element with value d = " << d << std::endl; } else { std::cout << "Element with value d = " << d << " not found" << std::endl; } // Find the maximum element in the set int maxElem = *mySet.begin(); for (auto elem : mySet) { if (elem > maxElem) { maxElem = elem; } } std::cout << "The maximum element in the set is: " << maxElem << std::endl; // Determine number of segments and number of elements in each segment int numSegments = mySet.bucket_count(); std::cout << "Number of segments in the set is: " << numSegments << std::endl; std::cout << "Number of elements in each segment are: "; for (int i = 0; i < numSegments; ++i) { std::cout << mySet.bucket_size(i) << " "; } std::cout << std::endl; // Find the segment containing element with value f auto fIt = mySet.find(f); if (fIt != mySet.end()) { int segment = mySet.bucket(fIt); std::cout << "Element with value f = " << f << " is in segment " << segment << std::endl; } else { std::cout << "Element with value f = " << f << " not found" << std::endl; } return 0; } Download 202.57 Kb. Do'stlaringiz bilan baham: |
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling