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

来源:互联网 发布:pwp网络用语是什么意思 编辑:程序博客网 时间:2024/05/21 03:25
#include<iostream>using namespace std;#define N 9#define M 7int 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[N]={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;}


原创粉丝点击