我正在嘗試從已經給定的陣列中創建和填充一個新陣列。但是當我嘗試使用 for 回圈和 array=i; 該陣列僅給出原始陣列的最后一個值。
// Fills the arrays with proper values.
for (int i = 0; i < 18; i ) {
if (xs[i] % 2 == 0) {
even_xs[NEven] = xs[i];
xs[i] ;
}
else {
odd_xs[NOdd] = xs[i];
xs[i] ;
}
}
所以這段代碼的 cout 行的輸出是
odd_xs array = 55
even_xs array = 66
而它應該是這樣的
odd_xs array = 1, 11, 15, 55
even_xs array = 2, 4, 6, 8, 10, 66
我怎樣才能做到這一點?提前致謝!
uj5u.com熱心網友回復:
even_xs[NEven]例如,您總是寫入,因此該值將始終被覆寫,并且最后只會存盤一個值even_xs[NEven]
通常沒有提供足夠的代碼,例如您需要一個回圈來列印出陣列的每個元素,但我們無法看到您是使用回圈還是僅使用單個cout陳述句進行列印
uj5u.com熱心網友回復:
假設您想將偶數值xs放入even_xs陣列,將奇數放入odd_xs陣列,您可能想要這樣的東西:
NEven = 0;
NOdd = 0;
for (int i = 0; i < 18; i ) {
if (xs[i] % 2 == 0) {
even_xs[NEven ] = xs[i];
}
else {
odd_xs[NOdd ] = xs[i];
}
}
順便說一句:這段代碼實際上是 C 代碼,在 C 中,您會以不同的方式執行此操作。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/330949.html
