我在一个文件中读到男孩和女孩被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];
}
我想要两个新的阵列男孩和女孩从一个来自我变得“有趣”的功能的阵列中分离出来。
答案 0 :(得分:2)
“当我尝试这样做的时候,我最终得到了原始阵列的两个副本,其中男孩从索引0开始直到某个数字并且女孩们从男孩们离开的指数开始直到数组结束。如何正确分割两个?“
粗体部分告诉我,您需要做的就是在填充boys数组并开始填充girls数组后将索引重置为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];
}