掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
表の中の数字を大きい順から並び替えるには? (ID:70458)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
バブルソートか。 ソートなら別の方法があるよ。 バブルソートなら色々説明があると思うので説明はしない。 配列は1始まりで使っているのか。 nが人数でmが科目数か。 俺にはいい名前の付け方が思いつかないけど、判りやすくしてほしい。 最近の俺はループ変数もi,j,kとつけるのは意味が判らないので嫌いになってきた。 for(i=1;i<n-1;++i) for(j=i+1;j<n;++j) nとか使うべきでは? 既に比較済みを比較する必要ない。 goukei[j-i]ってバッファオーバーランしている。 合計で並べ変えたら、名前もそれに合わせたい。 やり方はいくつかある。 プログラムはわかりにくくなるけどnarabi配列を使ってみた。 int tmp; TRACE("\n"); for(i=1;i<n-1;++i){ for(j=i+1;j<n;++j){ if(goukei[narabi[i]]<goukei[narabi[j]]){ int tmp=narabi[i]; narabi[i]=narabi[j]; narabi[j]=tmp; } } } TRACE("\n"); for(i=1;i<n;++i){ TRACE("%s\t%6.0f\n",namae[narabi[i]],goukei[narabi[i]]); }
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2020 Takeshi Okamoto All Rights Reserved.