dポイントプレゼントキャンペーン実施中!

C言語を使って、10個の整数を読み込んで小さい順にソートするプログラムを作っています。

#include<stdio.h>
#include<stdlib.h>

int main()
{

int a[9] = {1, 2, 3, 4, 5, 6, 7, 8, 9};

int i;

for (i = 0; i < 9; ++i ) {
printf("No. %d Please Enter!", a[i]);
scanf("%d", &a[i]);
}
return(0);
}

これで、10個の整数を読み込んだ後、ソートする方法が分かりません。
どなたか教えていただけますでしょうか^^;

A 回答 (3件)

困り度が大変困っている・・



大変でしょうが、学校の課題のようですね。

以前もソート(バブルソート)で、回答したことがありますが、同じような質問と回答が、ごまんとあります。

質問者さんは、「ソート」で、このカテゴリーを検索されたのでしょうか?

質問する前に、ご自分で、情報の検索と学習されることを期待します。

がんばってください。
    • good
    • 0

10個ですか?9個ですか?


今のコードは9個分しか領域がありません。
また、scanf()で入力するのでしたら、

> int a[9] = {1, 2, 3, 4, 5, 6, 7, 8, 9};

この初期化は不要です。

この回答への補足

ごめんなさい、十個の整数が正解です。
ソートする部分のソースを教えて下さい。

補足日時:2008/06/02 10:38
    • good
    • 0

トーナメント方式というのがあります。

二つの数を取りだし、大きなものを勝ち組に小さなものに負け組に組み入れます。これを勝ち組グループで続けると最後に一個が残りますね。これが一番。次は最後の負け組グループに移って同じことをやります。これを繰り返せば最終的に全部がソーティングできますね。これを入れ子の方式を使って行なうのです。但し10個ならその心配はないのですが、あまり沢山の数をこれでやるとスタックオーバーフローになりますから、負け組はHDに書き出す方式にする必要があります。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!