2016-12-12 1 views
-2

정렬 정렬 기능을 책에서 바로 복사하여 배열에 적용했지만 올바르게 정렬되지 않았습니다. cout을 사용하여 요소 0, 10 및 19를 인쇄하면 원래 정수가 반환됩니다. C++ 선택 정렬하지 않음

for (startScan = 0; startScan < (size - 1); startScan++); 
//            ------^ 

당신이 빈 루프를 한 번 실행되는 코드의 블록을 가지고 : 첫 번째 for 루프에

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(); 
} 
+3

이러한 문제를 해결하는 올바른 도구는 디버거입니다. 스택 오버플로를 묻기 전에 코드를 단계별로 실행해야합니다. 자세한 도움말은 [작은 프로그램 디버깅 방법 (Eric Lippert 작성)] (https://ericlippert.com/2014/03/05/how-to-debug-small-programs/)을 참조하십시오. 문제를 재현하는 [최소, 완료 및 확인 가능] (http://stackoverflow.com/help/mcve) 예제와 함께 해당 질문을 \ [편집]해야합니다. 디버거. –

+0

정렬이 정렬되지 않습니다. 얼마나 많은 배열이 정렬하면 정렬 정렬 할 것이라고 정렬 할 것이라고? – SergeyA

+0

@Slava 승무원을 게시하기로 결정한 경우 코멘트가 아닌 답변으로 게시하십시오. – CiaPan

답변

3

당신은 마지막에 세미콜론이있다.

관련 문제