#include<iostream>
using namespace std;
int x,y;
int Del(int a[],int n,int b[])
{
for(int i=0;i<n;i++)
{
if(a[i]==a[i+1])
{
a[i]=-1;
}
}
int j=0;
for(int i=0;i<n;i++)
{
if(a[i]!=-1)
b[j++]=a[i];
}
return j;
}
int Cha(int a[],int m,int b[],int n)
{
int flag;
for(int i=0; i<m;i++)
{
flag=0;
for(int j=0;j<n;j++)
{
if(a[i]==b[j])
{
flag=1;
break;
}
}
if(flag==0)
cout<<a[i]<<" ";
}
}
int Bing(int a[],int b[],int bbing[]){
int count;
int i,j;
int aa[100],bb[100];
int aaa,bbb;
aaa= Del(a,x,aa);
bbb= Del(b,y,bb);
int flag;
int kkk=aaa;
for(i=0;i<bbb;i++)
{
flag=0;
for(j=0;j<aaa;j++)
{
if(bb[i]==aa[j])
{
flag=1;
break;
}
}
if(flag==0)
{
aa[kkk++]=bb[i];
}
}
for(i=0;i<kkk;i++)
{
cout<<aa[i]<<" ";
bbing[i] = aa[i];
}
cout<<endl;
return i;
}
int Jiao(int a[],int b[],int c[])
{
int count;
int i,j;
int aa[100],bb[100];
int aaa,bbb;
aaa= Del(a,x,aa);
bbb= Del(b,y,bb);
count=0;
for(i=0;i<aaa;i++)
{
for(j=0;j<bbb;j++)
{
if(bb[j]==aa[i])
{
c[count++]=aa[i];
}
}
}
cout<<count<<endl;
for(i=0;i<count;i++)
{
cout<<c[i]<<" ";
}
cout<<endl;
return i;
}
int show()
{
cout<<"1--------集合的交集"<<endl;
cout<<"2--------集合的并集"<<endl;
cout<<"3--------集合的差集"<<endl;
}
int main()
{
show();
int p,q,n;
int bbing[100],a[100],b[100],c[100],i,j;
x=y=0;
cout<<"请输入集合A的元素,直到输入负数结束"<<endl;
for(i=0;i<100;i++)
{
cin>>a[i];
if(a[i]<0)
break;
x++;
}
cout<<"请输入集合B的元素,直到输入负数结束"<<endl;
for(i=0;i<100;i++)
{
cin>>b[i];
if(b[i]<0)
break;
y++;
}
while(1)
{
cout<<"请选择你要进行的操作"<<endl;
cin>>n;
if(n==1)
q=Jiao(a,b,c);
if(n==2)
p=Bing(a,b,bbing);
if(n==3)
Cha(bbing,p,c,q);
}
}