Кроме C++ ничего не знаю.
g++ compiler
#include <iostream>
#include <algorithm>
#include <set>
#include <iterator>
int main()
{
std::set<int>
set1,//Первое входное множество(A)
set2,//Второе выходное множество(B)
set3,//Первое выходное(разность set1 и set2)
set4,//xz
set5,//A пересечение B
set6;//A объединение B
int
N, M,
temp;
std::cout << "Введите размер первого и второго множеств:";
std::cin >> N >> M;
std::cout << std::endl << "Введите значения первого множества: ";
for(int i = 0; i < N; i++)
std::cin >> temp;
set1.insert(temp);
}
std::cout << std::endl << "Введите значения второго множества: ";
for(int i = 0; i < M; i++)
set2.insert(temp);
std::set_difference(set1.begin(), set1.end(), set2.begin(), set2.end(), std::inserter(set3, set3.begin()));
std::set_difference(set2.begin(), set2.end(), set1.begin(), set1.end(), std::inserter(set4, set4.begin()));
std::set_intersection(set1.begin(), set1.end(), set2.begin(), set2.end(), std::inserter(set5, set5.begin()));
std::set_union(set1.begin(), set1.end(), set2.begin(), set2.end(), std::inserter(set6, set6.begin()));
//вывод
std::cout << "Множество А: ";
std::copy(set1.begin(), set1.end(),
std::ostream_iterator<int>(std::cout, " "));
std::cout << std::endl;
std::cout << "Множество B: ";
std::copy(set2.begin(), set2.end(),
std::cout << "Множество А - B: ";
std::copy(set3.begin(), set3.end(),
std::cout << "Множество B - A: ";
std::copy(set4.begin(), set4.end(),
std::cout << "Множество A пересечение B: ";
std::copy(set5.begin(), set5.end(),
std::cout << "Множество А объединение B: ";
std::copy(set6.begin(), set6.end(),
return 0;
// PascalABC.NET 3.4, сборка 1766 от 25.08.2018
begin
var a := new HashSet<integer>(ReadArrInteger('Множество A ->', ReadInteger('Размер множества A =')));
var b := new HashSet<integer>(ReadArrInteger('Множество B ->', ReadInteger('Размер множества B =')));
a.Except(b).Print; Println(' - A\B');
b.Except(a).Print; Println(' - B\A');
a.Intersect(b).Print; Println(' - пересечение A и B');
a.Union(b).Print; Println(' - объединение A и B');
end.
Пример ввода/вывода в приложении.
Кроме C++ ничего не знаю.
g++ compiler
#include <iostream>
#include <algorithm>
#include <set>
#include <iterator>
int main()
{
std::set<int>
set1,//Первое входное множество(A)
set2,//Второе выходное множество(B)
set3,//Первое выходное(разность set1 и set2)
set4,//xz
set5,//A пересечение B
set6;//A объединение B
int
N, M,
temp;
std::cout << "Введите размер первого и второго множеств:";
std::cin >> N >> M;
std::cout << std::endl << "Введите значения первого множества: ";
for(int i = 0; i < N; i++)
{
std::cin >> temp;
set1.insert(temp);
}
std::cout << std::endl << "Введите значения второго множества: ";
for(int i = 0; i < M; i++)
{
std::cin >> temp;
set2.insert(temp);
}
std::set_difference(set1.begin(), set1.end(), set2.begin(), set2.end(), std::inserter(set3, set3.begin()));
std::set_difference(set2.begin(), set2.end(), set1.begin(), set1.end(), std::inserter(set4, set4.begin()));
std::set_intersection(set1.begin(), set1.end(), set2.begin(), set2.end(), std::inserter(set5, set5.begin()));
std::set_union(set1.begin(), set1.end(), set2.begin(), set2.end(), std::inserter(set6, set6.begin()));
//вывод
std::cout << "Множество А: ";
std::copy(set1.begin(), set1.end(),
std::ostream_iterator<int>(std::cout, " "));
std::cout << std::endl;
std::cout << "Множество B: ";
std::copy(set2.begin(), set2.end(),
std::ostream_iterator<int>(std::cout, " "));
std::cout << std::endl;
std::cout << "Множество А - B: ";
std::copy(set3.begin(), set3.end(),
std::ostream_iterator<int>(std::cout, " "));
std::cout << std::endl;
std::cout << "Множество B - A: ";
std::copy(set4.begin(), set4.end(),
std::ostream_iterator<int>(std::cout, " "));
std::cout << std::endl;
std::cout << "Множество A пересечение B: ";
std::copy(set5.begin(), set5.end(),
std::ostream_iterator<int>(std::cout, " "));
std::cout << std::endl;
std::cout << "Множество А объединение B: ";
std::copy(set6.begin(), set6.end(),
std::ostream_iterator<int>(std::cout, " "));
std::cout << std::endl;
return 0;
}
// PascalABC.NET 3.4, сборка 1766 от 25.08.2018
begin
var a := new HashSet<integer>(ReadArrInteger('Множество A ->', ReadInteger('Размер множества A =')));
var b := new HashSet<integer>(ReadArrInteger('Множество B ->', ReadInteger('Размер множества B =')));
a.Except(b).Print; Println(' - A\B');
b.Except(a).Print; Println(' - B\A');
a.Intersect(b).Print; Println(' - пересечение A и B');
a.Union(b).Print; Println(' - объединение A и B');
end.
Пример ввода/вывода в приложении.