麻烦大家帮小弟我修改下程序,实现两个有序数组合并的
麻烦大家帮我修改下程序,实现两个有序数组合并的。
麻烦大家帮我修改下程序,实现两个有序数组合并的。
#include<iostream.h>
int main()
{int A[2],B[2],C[4],i=0,j=0,loop,loop1,k;
cout<<"Please input A[2] numbers:";
for(loop=0;loop<=1;loop++)
cin>>A[loop];
cout<<"Please input B[2] numbers:";
for(loop1=0;loop1<=1;loop1++)
cin>>B[loop1];
i=0;j=0;
while((i<2)&&(j<2))
{
if(A[i]<B[j])
{C[k]=A[i];
i++;
}
else
{C[k]=B[j];
j++;
}
k++;
}
if(i<2)
{C[k]=A[i];
i++;
k++;
}
else if(j<2)
{C[k]=B[j];
j++;
k++;
}
for(k=0;k<=4;k++)
{if(C[k]%2==0)
cout<<C[k]<<endl;
}
return 0;
}
------解决方案--------------------
两个问题:
1、k没有初始化
2、while循环结束后的单数组赋值操作,也要用循环,把全部剩余数据赋值给c
------解决方案--------------------
参考一下归并排序!
------解决方案--------------------
C[k]=A[i];
k值没有初始化,c[k]怎么确定值?
------解决方案--------------------
请学习 二路归并排序
这是必须学会的哦~~
麻烦大家帮我修改下程序,实现两个有序数组合并的。
#include<iostream.h>
int main()
{int A[2],B[2],C[4],i=0,j=0,loop,loop1,k;
cout<<"Please input A[2] numbers:";
for(loop=0;loop<=1;loop++)
cin>>A[loop];
cout<<"Please input B[2] numbers:";
for(loop1=0;loop1<=1;loop1++)
cin>>B[loop1];
i=0;j=0;
while((i<2)&&(j<2))
{
if(A[i]<B[j])
{C[k]=A[i];
i++;
}
else
{C[k]=B[j];
j++;
}
k++;
}
if(i<2)
{C[k]=A[i];
i++;
k++;
}
else if(j<2)
{C[k]=B[j];
j++;
k++;
}
for(k=0;k<=4;k++)
{if(C[k]%2==0)
cout<<C[k]<<endl;
}
return 0;
}
------解决方案--------------------
两个问题:
1、k没有初始化
2、while循环结束后的单数组赋值操作,也要用循环,把全部剩余数据赋值给c
------解决方案--------------------
参考一下归并排序!
------解决方案--------------------
C[k]=A[i];
k值没有初始化,c[k]怎么确定值?
------解决方案--------------------
请学习 二路归并排序
这是必须学会的哦~~