// algo/setalgos.cpp #include "algostuff.hpp" using namespace std; int main() { int c1[] = { 1, 2, 2, 4, 6, 7, 7, 9 }; int num1 = sizeof(c1) / sizeof(int); int c2[] = { 2, 2, 2, 3, 6, 6, 8, 9 }; int num2 = sizeof(c2) / sizeof(int); // Вывод исходных интервалов cout << "c1: " ; copy (c1, c1+num1, ostream_iterator(cout," ")); cout << endl; cout << "c2: " ; copy (c2, c2+num2, ostream_iterator(cout," ")); cout << '\n' << endl; // Суммирование интервалов алгоритмом merge() cout << "merge(): "; merge (c1, c1+num1, c2, c2+num2, ostream_iterator(cout," ")); cout << endl; // Объединение интервалов алгоритмом set_union() cout << "set_union(): "; set_union (c1, c1+num1, c2, c2+num2, ostream_iterator(cout," ")); cout << endl; // Пересечение интервалов алгоритмом set_intersection() cout << "set_intersection(): "; set_intersection (c1, c1+num1, c2, c2+num2, ostream_iterator(cout," ")); cout << endl; // Определение элементов первого интервала, // не входящих во второй интервал, алгоритмом set_difference() cout << "set_difference(): "; set_difference (c1, c1+num1, c2, c2+num2, ostream_iterator(cout," ")); cout << endl; // Вычисление разности интервалов алгоритмом set_symmetric_difference() cout << "set_symmetric_difference(): "; set_symmetric_difference (c1, c1+num1, c2, c2+num2, ostream_iterator(cout," ")); cout << endl; }