两个集合的相等判断、交集、并集

xiaoxiao2021-02-28  19

#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; }

实验心得:判断两个集合是否相等,要从顺序和数据入手,在这里我仅敲了顺序、数据一样的集合判断算法,还望老师见谅!

转载请注明原文地址: https://www.6miu.com/read-2631467.html

最新回复(0)