您的位置:首页 > 其它

删除数组中相同的数,统计两个数组中重复数个数并把不同数找出来

2013-09-17 18:45 330 查看
#include<iostream>
using namespace std;
#define N 9
#define M 7
int del(int len,int array[]);
int compare_array( int len1, int array1[], int len2, int array2[] );
int find( int len1, int array1[], int len2, int array2[]);
int main()
{
int array1
={21,1,3,5,5,5,7,202,88};
int array2[M]={1,3,5,2,77,101,55};
int len1=del(N,array1);
int len2=del(M,array2);
compare_array(len1,array1,len2,array2);
find(len1,array1,len2, array2);
}
int del(int len,int array[])//删除相同的数
{
int n=len;
for(int i=0;i!=n-1;i++)
{
for(int j=i+1;j!=n;j++)
{
if(array[i]==array[j])
{
for(;i!=n-1;i++)
{
array[i]=array[i+1];
}
n--;
i=0;
break;
}
}
}
return n;
}
int compare_array( int len1, int array1[], int len2, int array2[] )//总共有多少个相同数
{
int count=0;
for(int i=len1-1;i!=-1;i--)
{
for(int j=len2-1;j!=-1;j--)
{
if(array1[i]==array2[j])
{
count+=1;
}
}
}
cout<<"the sum of the same number is :"<<count<<endl;
return 0;
}
int find( int len1, int array1[], int len2, int array2[])//找到不同数
{
int n=0;
cout<<"the different numbers are:";
for(int i=0;i!=len1;i++)
{
for(int j=0;j!=len2;j++)
{
if(array1[i]!=array2[j])
{
n++;
}
}
if(n==len2)
{
cout<<array1[i]<<"  ";
n=0;
}
else
n=0;
}
for(int x=0;x!=len2;x++)
{
for(int y=0;y!=len1;y++)
{
if(array2[x]!=array1[y])
{
n++;
}
}
if(n==len1)
{
cout<<array2[x]<<"  ";
n=0;
}
else n=0;
}
cout<<endl;
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐