我試圖通過我拿起的書教自己C++。其中一個練習是獲取用戶輸入的顏色數組作爲字符串對象。然後他們說要使用關係運算符對用戶輸入的顏色實施選擇排序。我已經開始了我認爲正確的道路,但是我遇到了障礙,我不確定它有什麼問題。它編譯,它只是不會有什麼,我已經將返回排序瓦萊斯(我認爲)任何幫助非常感謝用於數組的C++選擇
void selectionSort(char [], int);
int main()
{
const int SIZE = 80;
char colour[SIZE];
cout << "Enter the names of five kinds of fruit:" << endl;
cin.getline(colour, SIZE);
cout << colour << endl;
selectionSort(colour, SIZE);
cout << colour << endl;
return 0;
}
// SORT
void selectionSort(char shade[], int size)
{
int startScan, minIndex, minValue;
for (startScan = 0; startScan < (size - 1); startScan++)
{
minIndex = startScan;
minValue = shade[startScan];
for (int index = startScan + 1; index < size; index++)
{
if (shade[index] < minValue)
{
minValue = shade[index];
minIndex = index;
}
}
shade[minIndex] = shade[startScan];
shade[startScan] = minValue;
}
cout << shade[size] << endl;
}
第一個問題是你的數組需要包含std :: strings,而不是字符。解決這個問題之後還有很多需要討論的內容。 –
@MarkRansom - 所以不是'字符顏色[SIZE]'應該是'字符串顏色[SIZE]'? THanks – hart929
你還需要循環你的輸入5次 - 現在它只能得到輸入,直到按下回車鍵。 –