- ベストアンサー
配列
大学生でC言語を学んでいます。「整数型配列にキーボードから10個の整数を読み込み昇順に並び替えて表示する」というのをやろうとしているのですがうまくできません。みなさんの力をお貸しいただきたいです。宜しくお願いします。
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
n番目(nは1~9)について、n+1番目と比べて大きければn番目とn+1番目を入れ換える。 単純ソートと言う一番基本的な方法です。
その他の回答 (4)
- επιστημη(@episteme)
- ベストアンサー率46% (546/1184)
> n番目(nは1~9)について、n+1番目と比べて大きければn番目とn+1番目を入れ換える。 > 単純ソートと言う一番基本的な方法です。 隣接要素を交換するのはバブルソート。
- επιστημη(@episteme)
- ベストアンサー率46% (546/1184)
> 昇順に並べ替えるあたりがよく分からないです。 int data[10]; int limit; int i; for ( limit = 9; limit != 0; --limit ) { data[0]~data[limit] の中から最大のものを探し、 それと data[limit] とを交換する }
- chie65536(@chie65535)
- ベストアンサー率44% (8741/19839)
1番目と2番目を比べ、1番目の方が大きかったら、1番と2番の中身を入れ替える 1番目と3番目を比べ、1番目の方が大きかったら、1番と3番の中身を入れ替える 1番目と4番目を比べ、1番目の方が大きかったら、1番と4番の中身を入れ替える 1番目と5番目を比べ、1番目の方が大きかったら、1番と5番の中身を入れ替える 1番目と6番目を比べ、1番目の方が大きかったら、1番と6番の中身を入れ替える 1番目と7番目を比べ、1番目の方が大きかったら、1番と7番の中身を入れ替える 1番目と8番目を比べ、1番目の方が大きかったら、1番と8番の中身を入れ替える 1番目と9番目を比べ、1番目の方が大きかったら、1番と9番の中身を入れ替える 1番目と10番目を比べ、1番目の方が大きかったら、1番と10番の中身を入れ替える 2番目と3番目を比べ、2番目の方が大きかったら、2番と3番の中身を入れ替える 2番目と4番目を比べ、2番目の方が大きかったら、2番と4番の中身を入れ替える 2番目と5番目を比べ、2番目の方が大きかったら、2番と5番の中身を入れ替える 2番目と6番目を比べ、2番目の方が大きかったら、2番と6番の中身を入れ替える (途中省略) 2番目と10番目を比べ、2番目の方が大きかったら、2番と10番の中身を入れ替える 3番目と4番目を比べ、3番目の方が大きかったら、3番と4番の中身を入れ替える 3番目と5番目を比べ、3番目の方が大きかったら、3番と5番の中身を入れ替える (途中省略) 3番目と10番目を比べ、3番目の方が大きかったら、3番と10番の中身を入れ替える 4番目と5番目を比べ、4番目の方が大きかったら、4番と5番の中身を入れ替える (途中省略) 4番目と10番目を比べ、4番目の方が大きかったら、4番と10番の中身を入れ替える 5番目と6番目を比べ、5番目の方が大きかったら、5番と6番の中身を入れ替える (途中省略) 5番目と10番目を比べ、5番目の方が大きかったら、5番と10番の中身を入れ替える 6番目と7番目を比べ、6番目の方が大きかったら、6番と7番の中身を入れ替える 6番目と8番目を比べ、6番目の方が大きかったら、6番と8番の中身を入れ替える 6番目と9番目を比べ、6番目の方が大きかったら、6番と9番の中身を入れ替える 6番目と10番目を比べ、6番目の方が大きかったら、6番と10番の中身を入れ替える 7番目と8番目を比べ、7番目の方が大きかったら、7番と8番の中身を入れ替える 7番目と9番目を比べ、7番目の方が大きかったら、7番と9番の中身を入れ替える 7番目と10番目を比べ、7番目の方が大きかったら、7番と10番の中身を入れ替える 8番目と9番目を比べ、8番目の方が大きかったら、8番と9番の中身を入れ替える 8番目と10番目を比べ、8番目の方が大きかったら、8番と10番の中身を入れ替える 9番目と10番目を比べ、9番目の方が大きかったら、9番と10番の中身を入れ替える これで並び替え完了。
- επιστημη(@episteme)
- ベストアンサー率46% (546/1184)
なにがうまくできないのかわからんことには答えようがありません。
補足
すいません。。 昇順に並べ替えるあたりがよく分からないです。 初歩的かもしれませんがお願いします。