-2
配列に適用する選択ソート関数を本から直接コピーしましたが、正しくソートされていません。 coutを使用して要素0、10、および19を出力すると、元の整数が返されます。あなたの最初のfor
ループ上C++の選択並べ替えなし並べ替え並べ替えなし
int main()
{
int startScan, minIndex, minValue;
int exchanges = 0;
int selTestArray[20] = {84, 74, 65, 26, 37, 91, 94, 44, 52, 50, 50, 47, 34, 61, 70, 12, 59, 94, 61, 32};
int size = 20;
for (startScan = 0; startScan < (size - 1); startScan++);
{
minIndex = startScan;
minValue = selTestArray[startScan];
for (int index = startScan + 1; index < size; index++)
{
if (selTestArray[index] < minValue)
{
minValue = selTestArray[index];
minIndex = index;
}
}
selTestArray[minIndex] = selTestArray[startScan];
selTestArray[startScan] = minValue;
exchanges++;
}
cout << exchanges << endl;
cout << selTestArray[0] << endl;
cout << selTestArray[10] << endl;
cout << selTestArray[19] << endl;
cin.get();
}
このような問題を解決する適切なツールは、デバッガです。スタックオーバーフローを尋ねる前に、コードを一行ずつ進める必要があります。詳しいヘルプは、[小さなプログラムをデバッグする方法(Eric Lippert)](https://ericlippert.com/2014/03/05/how-to-debug-small-programs/)を参照してください。最低限、問題を再現する[最小、完全、および検証可能](http://stackoverflow.com/help/mcve)の例と、その問題を再現するためのデバッガ。 –
ソートがソートされていません。ソートで配列をソートする場合、ソートのソート方法はどれくらいですか? – SergeyA
@ Slavaアスワンを投稿する場合は、コメントとしてではなく回答として投稿してください。 – CiaPan