#include
#include
#include
using namespace std;
int inter(int a,int *b,int m,int n)//交集
{
int len=m>n?m:n;
int *c=(int)malloc(sizeof(int)*len);
int d=0;
for(int i=0;i<m;i++)
{
for(int j=0;j<n;j++)
{
if(a[i]==b[j])
{
c[d++]=a[i];
}
}
}
cout<<"输出a与b的交集:"<<endl;
for(int i=0;i<d;i++)
{
cout<<c[i]<<" ";
}
cout<<endl;
}
int union_a(int a,int *b,int m,int n)//并集
{
int k=m,es=1;
int *c=(int *)malloc(sizeof(int)(m+n));
for(int i=0;i<m;i++)
{
c[i]=a[i];
}
for(int i=0;i<n;i++)
{
es=1;
for(int j=0;j<m;j++)
{
if(b[i]==c[j])
{
es=0;
}
}
if(es)
{
c[k]=b[i];
k++;
}
}
cout<<"输出集合a,b的并集:"<<endl;
for(int i=0;i<k;i++)
{
cout<<c[i]<<" ";
}
cout<<endl;
}
int diff(int a,int *b,int m,int n)//差集
{
int k=0;
int *c=(int *)malloc(sizeof(int )*m);
for(int i=0;i
{
c[i]=a[i];
}
for(int i=0;i
{
for(int j=0;j
{
if(b[i]==c[j])
{
for(k=j;k
{
c[k]=c[k+1];
m--;
break;
}
}
}
}
cout
for(int i=0;i
{
cout
}
cout
}
int main()
{
int *a,*b;
int m,n;//集合a,b的个数
int c;
cout
cin>>m;
cout<<"输入集合b的长度:"<
cin>>n;
a=(int)malloc(sizeof(int)*m);
b=(int*)malloc(sizeof(int)*n);
cout<<"输入集合a:"<
for(int i=0;i
{
cin>>a[i];
}
cout<<"输入集合b:"<
for(int i=0;i
{
cin>>b[i];
}
inter(a,b,m,n);
union_a(a,b,m,n);
diff(a,b,m,n);
return 0;
}
————————————————
版权声明:本文为CSDN博主「也耶」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/badder2/article/details/85009330