台基股份新闻:c++中的一个小问题
来源:百度文库 编辑:中科新闻网 时间:2024/04/29 03:37:27
# include <iostream.h>
void main()
{
int i,j,k;
i=j=k=0;
int a[100],b[100];
cout<<"输入集合A的10个元素:";
for(;i<10;i++)
{
cin>>a[i];
}
cout<<"输入集合B的10个元素:";
for(;j<10;j++)
{
cin>>a[i];
}
for(j=0;j<10;j++)
{
for(i=0;i<10;i++)
if(b[j]==a[i])
break;
if(i==10)
{
a[10+k]=b[j];
k++;
}
}
k--;
cout<<"集合A和集合B的交集为:";
for(i=0;i<10+k;i++)
{
cout<<a[i]<<" ";
}
}
#include <stdio.h>
#define MAX 1000
int Union(int setA[], int setB[], int nA, int nB)
{
int outerLoop, innerLoop;
int unionN = nA;
for(outerLoop = 0; outerLoop < nB; outerLoop ++)
{
for(innerLoop = 0; innerLoop < nA; innerLoop ++)
{
if(setB[outerLoop] == setA[innerLoop])
break;
}
if(innerLoop == nA)
{
setA[unionN] = setB[outerLoop];
unionN ++;
}
}
return unionN;
}
int main()
{
int setA[2*MAX], setB[MAX];
int loopCount, unionN;
int nA, nB;
scanf("%d",&nA);
for(loopCount = 0; loopCount < nA; loopCount ++)
scanf("%d",&setA[loopCount]);
scanf("%d",&nB);
for(loopCount = 0; loopCount < nB; loopCount ++)
scanf("%d",&setB[loopCount]);
unionN = Union(setA, setB, nA, nB);
printf("The union:\n");
for(loopCount = 0; loopCount < unionN; loopCount ++)
printf("%d ", setA[loopCount]);
printf("\n");
return 0;
}