刪除陣列中相同的數,統計兩個陣列中重複數個數並把不同數找出來
阿新 • • 發佈:2019-02-14
#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[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; }