簡體   English   中英

將數組分成兩個單獨的數組

[英]Split array into two individual arrays

我讀過一個文件,其中男孩和女孩之間用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];
}

我想要兩個新的數組男孩和女孩,它們從我做“ fun”函數的數組中拆分出來。

“當我嘗試執行此操作時,我最終得到了原始數組的2個副本,其中男孩從索引0開始直到一定數目,女孩從索引開始,男孩從索引開始直到數組結束。我可以適當地將兩者分開嗎?”

粗體部分告訴我,您需要做的就是在填充boy數組並開始填充girl數組之后將索引重置為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];
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM