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,用指针。。。
#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++求两个集合的交集的主要内容,如果未能解决你的问题,请参考以下文章