我有一个10 x 10 arr[10][10]
的多维数组
我想将偶数转移到另一个数组,这是一维even[50]
这就是我所做的:
for (int x = 0; x < 10; x++) {
if (arr[0][x] % 2 == 0) {
even[x] = arr[0][x];
}
}
现在假设{0,1,2,3,4,5,6,7,8,9}
上有arr[0][x]
我现在遇到的问题是if语句的作用是偶数元素,例如{6}
存储在even[6]
和even[5]
以及{{1}上的其他奇数数组将没有任何值只是他们只有随机的内存数我希望偶数元素彼此相邻,如
even[]
依此类推
有更有效的方法吗?感谢
答案 0 :(得分:2)
使用2个索引
size_t even_index = 0;
// some looping condition
for (int x = 0; x < 10; x++) {
// Some filter test
if (arr[0][x] % 2 == 0) {
if (even_index >= 50) Oops_Handle_Error();
even[even_index++] = arr[0][x];
}
}
printf("even[] elements used:%zu\n", even_index);