2016-09-15 3 views
-4

먼저 배열의 모든 값을 오름차순으로 재 배열하고 나중에 추가해야합니다. 예를 들어, 사용자 입력 9 2 6, 합계 2 8 17 추가하기 전에 먼저 오름차순으로 (2 6 9) 표시됩니다 .. 내 오름차순 순서가 작동하지 않는 문제는 내 코드에 뭔가 잘못입니까?오름차순 배열에 모든 값을 어떻게 추가합니까?

#include <iostream> 
#include<conio.h> 
using namespace std; 
int numberof_array, value[10], temp; 
int i = 0, j; 
void input() 
{ 

    cout << "Enter number of array:"; 
    cin >> numberof_array; 
    for (i = 0; i < numberof_array; i++) 
    { 
     cout << "Enter value for array [" << i + 1 << "] - "; 
     cin >> value[i]; 
     cout << endl; 

    } 
} 
void computation() 
{ 

// this is where i'll put all the computation 
    for (j = 0; j < numberof_array; j++) 
    { 
     cout << value[j]; 
    } 
    for (i = 0; i <= numberof_array; i++) 
    { 
     for (j = 0; j <= numberof_array - i; j++) 
     { 
      if (value[j] > value[j + 1]) 
      { 
       temp = value[j]; 
       value[j] = value[j + 1]; 
       value[j + 1] = temp; 
      } 
     } 
    } 

} 
void display() 
{ 
// display all the computation i've got 
    cout << "\nData after sorting: "; 
    for (j = 0; j < numberof_array; j++) 
    { 
     cout << value[j]; 
    } 
    getch(); 
} 
int main() 
{ 
    input(); 
    computation(); 
    display(); 
} 
+2

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

+0

원하는 결과를 얻지 못하면 분명히 코드에 문제가있는 것입니다. –

+0

게다가, 모든 전역 변수들, ''과 완전히 쓸모없는 함수 이름'comput'은 무엇입니까? 당신은 더 나은 학습 자료를 찾아야합니다. –

답변

0
void computation(){ 
    for (int j = 0; j < numberof_array; j++) cout << value[j]<<"\t"; 

    for (int i = 0; i <= numberof_array; i++) { 
     temp = value[i]; 
     int temp_idx = i; 
     for (int j = i; j < numberof_array; j++) { 
      if (value[j] < temp) { 
       temp = value[j]; 
       temp_idx = j; 
      } 
     } 
     int temp_swap = value[i]; 
     value[i] = value[temp_idx]; 
     value[temp_idx] = temp_swap; 
    } 
    } 

어떻게 위와 같이 무언가에 두 번째 기능 변경에 대한.

나는 다른 주석가들에게 당신의 코딩 스타일이 바람직하지 않지만 눈에 보이는 것보다 더 많은 이야기가있을 수 있다는 점에 동의해야합니다.

관련 문제