编写一个c++程序,用于进行集合的并、差和交运算。例如:输入整数集合{9 5 4 3 6 7}和{2 4 6 9 },计算出它们进行集合的并、差和交运算后的结果。 【提示】 (1)可用以下表达式实现整数集合的基本运算: s1+s2 两个整数集合的并运算 s1-s2 两个整数集合的差运算 s1*s2 两个整数集合的交运算
时间: 2023-11-27 12:52:27 浏览: 143
以下是一个示例程序,实现了输入两个整数集合,计算它们的并、差和交运算:
```c++
#include <iostream>
#include <set>
using namespace std;
int main()
{
set<int> s1, s2; // 定义两个整数集合
// 输入第一个集合
cout << "请输入第一个整数集合(以-1结束):" << endl;
int x;
while (cin >> x && x != -1) {
s1.insert(x);
}
// 输入第二个集合
cout << "请输入第二个整数集合(以-1结束):" << endl;
while (cin >> x && x != -1) {
s2.insert(x);
}
// 计算并集
set<int> s_union = s1;
s_union.insert(s2.begin(), s2.end());
// 计算差集
set<int> s_diff;
set_difference(s1.begin(), s1.end(), s2.begin(), s2.end(), inserter(s_diff, s_diff.begin()));
// 计算交集
set<int> s_intersect;
set_intersection(s1.begin(), s1.end(), s2.begin(), s2.end(), inserter(s_intersect, s_intersect.begin()));
// 输出结果
cout << "两个集合的并集为:{ ";
for (int x : s_union) {
cout << x << " ";
}
cout << "}" << endl;
cout << "两个集合的差集为:{ ";
for (int x : s_diff) {
cout << x << " ";
}
cout << "}" << endl;
cout << "两个集合的交集为:{ ";
for (int x : s_intersect) {
cout << x << " ";
}
cout << "}" << endl;
return 0;
}
```
示例输出:
```
请输入第一个整数集合(以-1结束):
9 5 4 3 6 7 -1
请输入第二个整数集合(以-1结束):
2 4 6 9 -1
两个集合的并集为:{ 2 3 4 5 6 7 9 }
两个集合的差集为:{ 3 5 7 }
两个集合的交集为:{ 4 6 9 }
```
阅读全文