C++求两个集合的交集

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C++求两个集合的交集相关的知识,希望对你有一定的参考价值。

#include<iostream.h>
void main()

int a[5],b[5],c[5];
int i,j,k;
int *p1,*p2,*p3;
cout<<"请输入数组a:";
for(i=0;i<5;i++)
cin>>a[i];
cout<<"请输入数组b:";
for(j=0;j<5;j++)
cin>>b[j];
p1=&a[i];p2=&b[j];p3=&c[0];
for(i=0;i<5;i++)

for(j=0;j<5;j++)

if(*p1==*p2++)
*p3++=*p1;


cout<<"a数组为:";
for(i=0;i<5;i++)
cout<<a[i]<<' ';
cout<<endl;
cout<<"b数组为:";
for(j=0;j<5;j++)
cout<<b[j]<<' ';
cout<<endl;
cout<<"c数组为:";
for(k=0;k<5;k++)
cout<<c[k]<<' ';
cout<<endl;

就是要将a,b都赋值给c,用指针。。。

改过来啦!你的p1,p2初始化有错误。而且在求交集的时候p1应该初始化在第一层循环内这样内循环每经过一轮的判断,p1又能回到数组a的首地址。注意输入a、b数组的值时不要有重复的值,否则出错,事实上集合中也不允许有重复的元素。哪里不清楚Hi我。
#include<iostream.h>
void main()

int a[5],b[5],c[5]=0;//n是用来统计相同的元素总共多少个
int i,j,k,n=0;
int *p1,*p2,*p3;
cout<<"请输入数组a:";
for(i=0;i<5;i++)
cin>>a[i];
cout<<"请输入数组b:";
for(j=0;j<5;j++)
cin>>b[j];
p1=&a[0];p3=&c[0];
for(i=0;i<5;i++)

p2=&b[0];
for(j=0;j<5;j++)

if(*p1==*p2++)

*p3++=*p1;
n++;


p1++;

cout<<"a数组为:";
for(i=0;i<5;i++)
cout<<a[i]<<' ';
cout<<endl;
cout<<"b数组为:";
for(j=0;j<5;j++)
cout<<b[j]<<' ';
cout<<endl;
cout<<"c数组为:";
for(k=0;k<n;k++)
cout<<c[k]<<' ';
cout<<endl;
参考技术A #include<stdio.h>
void main()

int a[5],b[5],c[5]=0;
int i,j,k,n=0;
int *p1,*p2,*p3;
for(i=0;i<5;i++)
scanf("%d",&a[i]);
for(j=0;j<5;j++)
scanf("%d",&b[j]);
p1=&a[0];p3=&c[0];
for(i=0;i<5;i++)

p2=&b[0];
for(j=0;j<5;j++)

if(*p1==*p2++)

*p3++=*p1;
n++;


p1++;

for(i=0;i<5;i++)
printf("%d ",a[i]);
printf("\n");
for(j=0;j<5;j++)
printf("%d ",b[j]);
printf("\n");
for(k=0;k<n;k++)
printf("%d ",c[k]);
printf("\n");
参考技术B #include<stdio.h>
void main()

int a[5],b[5],c[5]=0;
int i,j,k,n=0;
int *p1,*p2,*p3;
printf("请输入数组a:");
for(i=0;i<5;i++)
scanf("%d",&a[i]);
printf("请输入数组b:");
for(j=0;j<5;j++)
scanf("%d",&b[j]);
p1=&a[0];p3=&c[0];
for(i=0;i<5;i++)

p2=&b[0];
for(j=0;j<5;j++)

if(*p1==*p2++)

*p3++=*p1;
n++;


p1++;

for(i=0;i<5;i++)
printf("%d ",a[i]);
printf("\n");
for(j=0;j<5;j++)
printf("%d ",b[j]);
printf("\n");
for(k=0;k<n;k++)
printf("%d ",c[k]);
printf("\n");

以上是关于C++求两个集合的交集的主要内容,如果未能解决你的问题,请参考以下文章

如何求两个数组的交集??

两个已排序List求交集

用java编写程序,求集合的并集、交集和差集

Excel 怎样求差集,并集和交集还有容错

arcgis怎么求差集

python怎么求两个集合set的差集