2016-09-15 18 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

さらに、これらのすべてのグローバルとは何ですか、 ''とまったく役に立たない関数名 'computation'はありますか?あなたはより良い学習教材を見つける必要があります。 –

答えて

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; 
    } 
    } 

方法。

あなたのコーディングスタイルは好まれませんが、目に合うものよりもストーリーの方が多いかもしれないと他のコメンテーターに同意しなければなりません。

関連する問題