0
私は自分でC++を教えています。ユーザーが入力したintを配列に渡し、配列をソートしてコンソールに吐き出すという方法を学びます。私は配列自体を渡してテストしましたが、それはうまくいきました。これは私のスワッピングコードです。配列をスワップ/ソートすると数字が複製されます
while(1){
swapped = 0;
for(int i4 = 0; i4 < count; i4++){
if(sdata[i4] > sdata[i4 + 1]){
int temp = sdata[i4];
sdata[i4] = sdata[i4 + 1];
sdata[i4 + 1] = temp;
swapped = 1;
}
}
if(swapped == 0){
break;
}
}
これは実行時に返される値です。
How many numbers? 5
[1] Please enter a value: 5
[2] Please enter a value: 3
[3] Please enter a value: 1
[4] Please enter a value: 2
[5] Please enter a value: 4
Original numbers: 5 3 1 2 4
Swapped numbers: 1 2 3 3 4
私はちょうどスワップ自体をテストするために、新しいファイルにスワップを書き換えてみましたが、私はそれが何らかの理由で動作させることはできません。これを行うより良い方法はありますか?
count'がアクセスし、sdata' 'のエントリの数であると仮定すると、' 'SDATA [I4 + 1]'未定義の動作をもたらす、配列の範囲外であります。 – 1201ProgramAlarm