Дано дві множини. Знайти числа, які є в обох множинах (перетин)
Код програми:
#include <iostream>
#include <iterator>
#include <algorithm>
#include <set>
using namespace std;
int main() {
setlocale(0, ""); // Для підтримки української мови
// Ініціалізація множин
set<int> a = {1, 2, 3, 4, 5};
set<int> b = {3, 4, 5, 6, 7};
set<int> intersection; // Для зберігання перетину
// Знаходження перетину множин
set_intersection(a.begin(), a.end(),
b.begin(), b.end(),
inserter(intersection, intersection.begin()));
// Виведення результату
cout << "Перетин множин: ";
for (int x : intersection) {
cout << x << " ";
}
cout << endl;
return 0;
}
a і b ініціалізуються заданими значеннями.set_intersection з STL:
inserter для додавання результатів у множину intersection
Перетин множин: 3 4 5
Дано дві множини. Знайти числа, які є хоча б в одній множині (об'єднання)
Код програми:
#include <iostream>
#include <iterator>
#include <algorithm>
#include <set>
using namespace std;
int main() {
setlocale(0, ""); // Для підтримки української мови
// Ініціалізація множин
set<int> a = {1, 2, 3, 4, 5};
set<int> b = {3, 4, 5, 6, 7};
set<int> union_set; // Для зберігання об'єднання
// Знаходження об'єднання множин
set_union(a.begin(), a.end(),
b.begin(), b.end(),
inserter(union_set, union_set.begin()));
// Виведення результату
cout << "Об'єднання множин: ";
for (int x : union_set) {
cout << x << " ";
}
cout << endl;
return 0;
}
a і b ініціалізуються заданими значеннями.set_union з STL:
inserter для додавання результатів у множину union_set
Об'єднання множин: 1 2 3 4 5 6 7
Дано дві множини. Знайти числа, які є у першій множині, але немає в другій (віднімання).
Код програми:
#include <iostream>
#include <iterator>
#include <algorithm>
#include <set>
using namespace std;
int main() {
setlocale(0, ""); // Для підтримки української мови
// Ініціалізація множин
set<int> a = {1, 2, 3, 4, 5};
set<int> b = {3, 4, 5, 6, 7};
set<int> difference; // Для зберігання різниці
// Знаходження різниці множин a - b
set_difference(a.begin(), a.end(),
b.begin(), b.end(),
inserter(difference, difference.begin()));
// Виведення результату
cout << "Різниця множин a - b: ";
for (int x : difference) {
cout << x << " ";
}
cout << endl;
return 0;
}
a і b ініціалізуються заданими значеннями.set_difference з STL:
inserter для додавання результатів у множину difference
Різниця множин a - b: 1 2
Дано дві множини. Знайти їх симетричну різницю.
Код програми:
#include <iostream>
#include <iterator>
#include <algorithm>
#include <set>
using namespace std;
int main() {
setlocale(0, ""); // Для підтримки української мови
// Ініціалізація множин
set<int> a = {1, 2, 3, 4, 5};
set<int> b = {3, 4, 5, 6, 7};
set<int> sym_diff; // Для зберігання симетричної різниці
// Знаходження симетричної різниці множин
set_symmetric_difference(a.begin(), a.end(),
b.begin(), b.end(),
inserter(sym_diff, sym_diff.begin()));
// Виведення результату
cout << "\nСиметрична різниця множин: ";
for (int x : sym_diff) {
cout << x << " ";
}
cout << endl;
return 0;
}
a і b ініціалізуються заданими значеннями.set_symmetric_difference з STL:
inserter для додавання результатів у множину sym_diff
Симетрична різниця множин: 1 2 6 7