gpt4 book ai didi

在 C 特殊情况下组合 2 个数组

转载 作者:行者123 更新时间:2023-11-30 14:34:58 25 4
gpt4 key购买 nike

我需要在 C 中组合两个数组。但问题是我需要一些不同类型的组合。我有两个数组。第一个有 27 个整数,第二个有 9 个整数。

int *firstArray = {1,2,3,4,5,6,7,8,9,13,14,15,16,17,18,19,20,21,25,26,27,28,29,30,31,32}
int *secondArray = {10,11,12,22,23,24,33,34,35}
int *newArray = malloc(36*sizeof(int));

我想获取 newArray 作为 1 到 35 之间数字的整数数组。如何组合这两个数组?数字只是为了代表。我认为对于第一个数组的每第 9k 个元素,我应该添加第二个数组的第一个第二个第三个…3 个元素。但我无法编码。

最佳答案

好的,这里的问题是在 firstArray 中,您有一组 9 个数字 (1-9),另一组 9 个数字 (13-21),然后是一组 8 个数字 ( 25-32),所以我必须在代码中考虑到这一点。您可以使用嵌套循环来实现您想要的。

想法是从第一个数组中读取 9,然后从第二个数组中读取 3,直到完成(总共三次),最后一种情况除外,在这种情况下,您只从第一个数组中读取 8。

   int i, j;
for(i = 0; i < 3; i++){
for(j = 0; j < 9; j++){
if(i == 2 && j == 8) break;
newArray[(i * 12) + j] = firstArray[(i * 9) + j];
}
for(j = 0; j < 3; j++){
if(i == 2)
newArray[(i * 12) + 8 + j] = secondArray[(i * 3) + j];
else
newArray[(i * 12) + 9 + j] = secondArray[(i * 3) + j];
}
}

关于在 C 特殊情况下组合 2 个数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58755233/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com