两个整数集合A,B,求出他们的交集,并集以及B在A中的余集.交集,并集和余集的计算都要求写成一个单独的函数.

用C++的语言从小到大的顺序输出~谢谢~... 用C++的语言
从小到大的顺序输出 ~
谢谢~
展开
 我来答
暖暖小泥鳅
2023-07-03
知道答主
回答量:19
采纳率:0%
帮助的人:1.4万
展开全部
#include <bits/stdc++.h>
#define MX 1000
using namespace std;
int main()
{
int n,m,a[2 * MX + 10],b[MX + 10],c[MX + 10],i,j,p = 0,d[MX + 10],f = 0;
cin >> n;
for ( i = 1; i <=n; i++)
{
cin >> a[i];
}

cin >> m;
for (i = 1;i <= m;i++)
{
cin >> b[i];
}
sort(b + 1,b + m + 1);
sort(a + 1,a + n + 1);
for (i = 1;i <= n;i++)
{
c[i] = a[i];
}
for (i = 1;i <= m;i++)
{
d[i] = b[i];
}
for (i = 1;i <= n;i++)
{
for (j = 1;j <= m;j++)//求交集
{
if (a[i] == b[j])
{
cout << a[i] << " ";
f = 1;
}
}
}
if (f == 1)
{
cout << endl;
}
for (i = 1;i <= m;i++)
{
a[n + i] = b[i];
}
sort(a + 1,a + n + m + 1);
for (i = 1;i <= n + m;i++)//求并集
{
cout << a[i] << " ";
while(a[i] == a[i + 1])
{
i++;
}
}
cout << endl;
int cnt;
for (i = 1;i <= n;i++)//求余集
{
cnt = 0;
for (j = 1;j <= m;j++)
{
if (c[i] != d[j])
{
cnt++;
}
}
if (cnt == m)
{
cout << c[i] << " ";
}
}
return 0;
}
函数的话就是将他们分成三个部分,在外面套上就行了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
WSN石家庄业余球王1
2013-12-04 · TA获得超过1235个赞
知道小有建树答主
回答量:880
采纳率:100%
帮助的人:377万
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式