-1

我读过一个文件,其中男孩和女孩用 1 和 0 分隔。我希望男孩在一个阵列中,而女孩在另一个阵列中。当我尝试这样做时,我得到了原始数组的 2 个副本,男孩从索引 0 开始直到某个数字,女孩从男孩离开的索引开始,直到数组结束。如何正确拆分两者?

代码:

double boys[100];
double girls[100];
boys[0] = 0;
girls[0] = 0;

for (int x = 0; x < fun; x++){
if (gender[x] == 1)
    boys[x] = array[x];
else
    girls[x] = array[x];
}

我想要两个新的数组男孩和女孩,它们从一个来自我“有趣”的函数的数组中分离出来。

4

1 回答 1

2

“当我尝试这样做时,我最终得到了原始数组的 2 个副本,男孩从索引 0 开始直到某个数字,女孩从男孩离开的索引开始,直到数组结束。如何我可以把两者分开吗?”

粗体部分告诉我,您需要做的就是在填充完男孩数组并开始填充女孩数组后将索引重置为 0。

编辑:您发布的代码表明您的问题不是您所说的那样(至少在可能混合男孩和女孩的一般情况下不是)。你想要这样的东西

int boysidx = 0;
int girlsidx = 0;
for (int x = 0; x < fun; x++){
    if (gender[x] == 1)
        boys[boysidx++] = array[x];
    else
        girls[girlsidx++] = array[x];
}
于 2013-04-15T23:42:05.870 回答