【发布时间】:2019-05-15 19:15:17
【问题描述】:
我正在尝试连接 2 个 int 数组,然后我尝试对结果数组进行排序。阅读效果很好,但我认为连接部分存在一些问题。如果有人能启发我,我会很高兴并原谅我的垃圾英语。注意:代码应保持在低 lvl 编程(如 C++ rookie-all code in main) 上面的代码:
int N, M,vect1[500],vect2[500];
cin>>N;
for(int i=0; i<N; i++)
cin>>vect1[i];
cin>>M;
for(int i=0; i<M; i++)
cin>>vect2[i];
int rez1 = sizeof(vect1) / sizeof(vect1[0]);
int rez2 = sizeof(vect2) / sizeof(vect2[0]);
int rez3=rez1+rez2;
vect1[N+rez3];
int j=0;
for(int i = rez1; i < rez3 ; i++`
{
vect1[i]=vect2[j];
j++;
}
int sortat = 0, aux;
while (sortat == 0)
{
sortat = 1;
for (int i = 1; i < rez3; ++i)
if (vect1[i] > vect1[i + 1])
{
sortat = 0;
// interschimbam pe v[i] cu v[i + 1]
aux = vect1[i];
vect1[i] = vect1[i + 1];
vect1[i + 1] = aux;
}} for(int i=0; i <rez3; i++)
cout<<vect1[i];
return 0;
【问题讨论】:
-
听起来您可能需要学习如何使用调试器来单步调试您的代码。使用好的调试器,您可以逐行执行您的程序,并查看它与您期望的偏差在哪里。如果您要进行任何编程,这是必不可少的工具。进一步阅读:How to debug small programs 和 Debugging Guide
-
提示:查看
sizeof(vect1) / sizeof(vect1[0])的结果,你会感到惊讶。 -
vect1[N+rez3];的意图是什么?我认为您需要在这里使用第三个数组来保存您的串联输出。 -
sizeof(vect1) / sizeof(vect1[0])的结果不是500吗?这是你真正想要的吗?
标签: c++ arrays int concatenation