合并排序算法在一个条件下合并两个数组的第三个

时间:2016-03-03 10:29:41

标签: c++

这是一种在特定条件下合并两个数组的算法。它首先比较两个数组的索引,如果arrayP1的索引等于arrayp2的索引,它会将某个索引存储到应答数组中。 任何人都可以帮助在c ++中翻译这个算法

#include <iostream>
#include <cstdlib>
#include <conio.h>
using namespace std;

int main()
 { 

int sizeofarray=0,i=0 ,j=0, num=0, answers[]={};
cout<<"enter the size of array"<<endl;
cin>>sizeofarray;//take size of array from user
int array1[sizeofarray];
int array2[sizeofarray];
cout<<"please enter a sorted array member of Array1"<<endl;
//input of array element 
for ( i=0 ; i<=sizeofarray; i++)
{
cin>>array1[i];
}
system("CLS");
cout<<"please enter a sorted array member of Array2"<<endl;
for (j=0 ; j<=sizeofarray; j++)
{
cin>>array2[j];
}
 ***strong text***system("CLS");
//comparing the array element and storing the similar items to another         array
while(array1[i]!=NULL && array2[j]!=NULL){
if(array1[i]==array2[j]){
answer[num++]=array1[i];
i++;
j++;
}
else if(array1[i]<array2[j])
{
i++;
}else{
  j++;
   }
 i++;
 j++;
 }
 cout<<"The number of common elements"<<num<<endl;
 cout<<"These are the common numbers: ";
 for (int k=0;k<num;k++){
cout<<answer[k]<<" ";
 }
 getch();
 return 0;

 }

1 个答案:

答案 0 :(得分:0)

#include <iostream>
#include <cstdlib>
#include <conio.h>
using namespace std;

int main()
{

int sizeofarray=0,i=0 ,j=0, num=0, answers[]={};
cout<<"enter the size of array"<<endl;
cin>>sizeofarray;//take size of array from user
int array1[sizeofarray];
int array2[sizeofarray];
cout<<"please enter a sorted array member of Array1"<<endl;
//input of array element 
for ( i=0 ; i<=sizeofarray; i++)
{
    cin>>array1[i];
}
system("CLS");
cout<<"please enter a sorted array member of Array2"<<endl;
for (j=0 ; j<=sizeofarray; j++)
{
    cin>>array2[j];
}
system("CLS");
//comparing the array element and storing the similar items to another array
while(array1[i]!=NULL && array2[j]!=NULL){
    if(array1[i]==array2[j]){
    answer[num++]=array1[i];
    i++;
    j++;
    }
    else if(array1[i]<array2[j])
{
i++;
}else{
j++;
    }
i++;
j++;
}
cout<<"The number of common elements"<<num<<endl;
cout<<"These are the common numbers: ";
for (int k=0;k<num;k++){
    cout<<answer[k]<<" ";
}
getch();
return 0;

}