#include<iostream>
using namespace std;
const int Size=10;
void Get(int a[]);
void Judge(int a[],int b[]);//判断两函数是否相等
void Intersaction(int a[],int b[]);//求交集
void Union(int a[],int b[]);//求并集
void Get(int a[])
{
cout<<"请十位输入整数:";
for(int i=0;i<Size;i++)
{
cin>>a[i];
cout<<" ";
}
}
void Judge(int a[Size],int b[Size])
{
for(int i=0;i<Size;i++)
{
if(a[i]!=b[i]) cout<<"两集合不等!"<<endl;break;
if(i==Size-1) cout<<"两集合相等!"<<endl;break;
}
}
void Intersaction(int a[Size],int b[Size])
{
int c[Size];
int t=0;
for(int i=0;i<Size;i++)
{
for(int n=0;n<Size;n++)
{
if(a[i]==b[n]) c[t]=b[n];t++;
}
}
cout<<"两集合的交集为:";
for(t=0;t<Size;t++)
{
for(int m=0;m<Size;m++)
{
if(c[t]==c[m]||t!=m) break;
if(c[t]==c[m]) cout<<c[m]<<" ";
}
}
}
void Union(int a[Size],int b [Size])
{
int c[Size];
int t=0;
for(int i=0;i<Size;i++)
{
for(int n=0;n<Size;n++)
{
if(a[i]==b[n]) c[t]=b[n];t++;
}
}
cout<<"两集合的并集为:";
for(t=0;t<Size;t++)
cout<<a[t];
for(t=0;t<Size;t++)
{
for(int m=0;m<Size;m++)
{
if(c[t]==c[m]) cout<<c[m]<<" ";
}
}
}
int main()
{
int a[Size],b[Size];
Get(a);
cout<<endl;
Get(b);
Judge(a,b);
Intersaction(a,b);
Union(a,b);
return 0;
}
实验心得:判断两个集合是否相等,要从顺序和数据入手,在这里我仅敲了顺序、数据一样的集合判断算法,还望老师见谅!