###前提・実現したいこと
C言語で配列を昇順に入れ替えて、処理の前後の結果を表示するコードを書いています。
結果としては、以下のように表示されることを考えています。
a = [9, 8, 7, 6, 5, 4, 3, 2, 1, 0] a = [0, 1, 2, 3, 4, 5, 6, 7, 8 ,9]
昇順ソートのコードは以下のサイトを参考にしました。
参考サイト
###発生している問題・エラーメッセージ
現状表示されるもの
a=[ 9 ], a=[ 8 ], a=[ 7 ], a=[ 6 ], a=[ 5 ], a=[ 4 ], a=[ 3 ], a=[ 2 ], a=[ 1 ], a =[0], a=[ 9 ], a=[ 8 ], a=[ 7 ], a=[ 6 ], a=[ 5 ], a=[ 4 ], a=[ 3 ], a=[ 2 ], a=[ 1 ], a =[0],
実現したい結果にするにはどのように直せばいいでしょうか。
アドバイスいただけましたら幸いです。
###該当のソースコード
C
1#include <stdio.h> 2//関数定義 3void Print(int *a, int n); 4 5//関数定義 6void Sort(int *a, int n); 7 8int main(void){ 9int a[10] = {9, 8, 7, 6, 5, 4, 3, 2, 1, 0}; 10Print(a, 10); //処理前の配列 11Sort(a, 10); //ソート 12Print(a, 10); //処理後の配列 13return 0; 14} 15 16void Print(int* a, int n){ 17int i; 18 for (i=0; i<n; i++){ 19 printf("a=[ %d ], ", a[i]); 20} 21 printf("\n"); 22} 23 24void Sort(int *a, int n){ 25int i, j, tmp; 26for(i=0; i<10; i++){ 27 for(j=j+1; j<10; j++){ 28 if(a[i]>a[j]){ 29 tmp = a[i]; 30 a[i] = a[j]; 31 a[j] = tmp; 32 } 33 } 34} 35}
回答5件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2017/12/04 03:33