Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Задачи на std::map
- Задача 1: Подсчёт частоты слов
- Условие: Напишите функцию, которая подсчитывает частоту каждого слова в строке.
- #include <iostream>
- #include <map>
- #include <string>
- #include <sstream>
- // Функция для подсчёта частоты слов
- int main() {
- std::string text = "this is a simple example this is a test";
- std::map<std::string, int> result = countWordFrequency(text);
- for (const auto& pair : result) {
- std::cout << pair.first << ": " << pair.second << "\n";
- }
- return 0;
- }
- Задача 2: Поиск максимального значения в std::map
- Условие: Напишите функцию, которая находит ключ с максимальным значением в std::map.
- #include <iostream>
- #include <map>
- #include <string>
- // Функция для поиска ключа с максимальным значением
- int main() {
- std::map<std::string, int> scores = {{"Alice", 85}, {"Bob", 92}, {"Charlie", 78}};
- std::string maxKey = findMaxKey(scores);
- std::cout << "Max key: " << maxKey << "\n"; // Вывод: Max key: Bob
- return 0;
- }
- Задача 3: Объединение двух std::map
- Условие: Напишите функцию, которая объединяет два std::map. Если ключи совпадают, суммируйте их значения.
- #include <iostream>
- #include <map>
- #include <string>
- // Функция для объединения двух map
- int main() {
- std::map<std::string, int> map1 = {{"Alice", 10}, {"Bob", 20}};
- std::map<std::string, int> map2 = {{"Bob", 15}, {"Charlie", 25}};
- std::map<std::string, int> merged = mergeMaps(map1, map2);
- for (const auto& pair : merged) {
- std::cout << pair.first << ": " << pair.second << "\n";
- }
- // Вывод:
- // Alice: 10
- // Bob: 35
- // Charlie: 25
- return 0;
- }
- Задача 4: Удаление элементов с определённым значением
- Условие: Напишите функцию, которая удаляет из std::map все элементы с заданным значением.
- #include <iostream>
- #include <map>
- #include <string>
- // Функция для удаления элементов с заданным значением
- int main() {
- std::map<std::string, int> scores = {{"Alice", 85}, {"Bob", 92}, {"Charlie", 85}};
- removeByValue(scores, 85);
- for (const auto& pair : scores) {
- std::cout << pair.first << ": " << pair.second << "\n";
- }
- // Вывод:
- // Bob: 92
- return 0;
- }
- Задача 5: Проверка наличия всех ключей из одного std::map в другом
- Условие: Напишите функцию, которая проверяет, содержатся ли все ключи из одного std::map в другом.
- #include <iostream>
- #include <map>
- #include <string>
- // Функция для проверки наличия ключей
- int main() {
- std::map<std::string, int> map1 = {{"Alice", 10}, {"Bob", 20}, {"Charlie", 30}};
- std::map<std::string, int> map2 = {{"Alice", 15}, {"Bob", 25}};
- std::cout << std::boolalpha;
- std::cout << "Contains all keys? " << containsAllKeys(map1, map2) << "\n"; // Вывод: Contains all keys? true
- return 0;
- }
- Задачи на std::set
- Задача 6: Устранение дубликатов из массива
- Условие: Напишите функцию, которая устраняет дубликаты из массива и возвращает уникальные элементы.
- #include <iostream>
- #include <set>
- #include <vector>
- // Функция для устранения дубликатов
- int main() {
- std::vector<int> arr = {1, 2, 2, 3, 4, 4, 5};
- std::set<int> uniqueNumbers = removeDuplicates(arr);
- for (const auto& value : uniqueNumbers) {
- std::cout << value << " ";
- }
- // Вывод: 1 2 3 4 5
- return 0;
- }
- Задача 7: Пересечение двух множеств
- Условие: Напишите функцию, которая находит пересечение двух множеств.
- #include <iostream>
- #include <set>
- // Функция для пересечения множеств
- int main() {
- std::set<int> set1 = {1, 2, 3, 4};
- std::set<int> set2 = {3, 4, 5, 6};
- std::set<int> intersection = intersectSets(set1, set2);
- for (const auto& value : intersection) {
- std::cout << value << " ";
- }
- // Вывод: 3 4
- return 0;
- }
- Задача 8: Разность двух множеств
- Условие: Напишите функцию, которая находит разность двух множеств (элементы первого множества, которых нет во втором).
- #include <iostream>
- #include <set>
- // Функция для разности множеств
- int main() {
- std::set<int> set1 = {1, 2, 3, 4};
- std::set<int> set2 = {3, 4, 5, 6};
- std::set<int> difference = differenceSets(set1, set2);
- for (const auto& value : difference) {
- std::cout << value << " ";
- }
- // Вывод: 1 2
- return 0;
- }
- Задача 9: Проверка, является ли одно множество подмножеством другого
- Условие: Напишите функцию, которая проверяет, является ли одно множество подмножеством другого.
- #include <iostream>
- #include <set>
- // Функция для проверки подмножества
- int main() {
- std::set<int> set1 = {1, 2};
- std::set<int> set2 = {1, 2, 3, 4};
- std::cout << std::boolalpha;
- std::cout << "Is subset? " << isSubset(set1, set2) << "\n"; // Вывод: Is subset? true
- return 0;
- }
- Задача 10: Симметричная разность двух множеств
- Условие: Напишите функцию, которая находит симметричную разность двух множеств (элементы, которые есть только в одном из множеств).
- #include <iostream>
- #include <set>
- // Функция для симметричной разности
- int main() {
- std::set<int> set1 = {1, 2, 3, 4};
- std::set<int> set2 = {3, 4, 5, 6};
- std::set<int> symDiff = symmetricDifference(set1, set2);
- for (const auto& value : symDiff) {
- std::cout << value << " ";
- }
- // Вывод: 1 2 5 6
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment