• ベストアンサー

小さい順

最大で 20 個の整数データを入力し、それを小さい順に並べ替えてください。 どうつくればいいか、初心者にも解る様に教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.2

0番目から19番目のうち一番小さい物を探し、それと0番目とを入れ替え1番目から19番目のうち一番小さい物を探し、それと1番目とを入れ替え 2番目から19番目のうち一番小さい物を探し、それと2番目とを入れ替え … 18番目から19番目のうち一番小さい物を探し、それと18番目とを入れ替え …ってやればいい(これをループで表現する)。

startover
質問者

お礼

どうもありがとうございます。 プログラム構造の考え方が解りました。 ありがとうございました。

その他の回答 (3)

回答No.4

「ソート アルゴリズム」で検索してみればよろしいかと。 #余談ですが、#2さんはあのエピさん? だとしたら何故IDを使い分けるのですか?

startover
質問者

お礼

ありがとうございます。 簡単なプログラムだとおもってましたが、 複雑なものだったんのでびっくりしました。 ありがとうございました。

  • tatsu99
  • ベストアンサー率52% (391/751)
回答No.3

たぶん、具体的なコーディングの回答を期待しているかと思います。 このような質問は丸投げに近いですが、このような質問にも丁寧に答えてくれるサイトがあります。参考URLのほうへ質問を投げてみてはいかがでしょうか。

参考URL:
http://l.huu.cc/
startover
質問者

お礼

参考になります。 ありがとうございました。

  • Trick--o--
  • ベストアンサー率20% (413/2034)
回答No.1

1.整数を入力する 2.並び替える (3.表示する)←必要なら どこがわからないのか どこまでわかるのか

startover
質問者

お礼

回答ありがとうございます。

関連するQ&A

  • VASICのプログラムで・・・

    VASICで「n個の整数を入れて、それを小さい順にならべまた、ちょうど真ん中の整数を出す」というプログラムを作っています。たとえば、「4,3,5,7,8」、と入力したら「3,4,5,7,8」と出てきて真ん中は「5」です。というような感じです。n個が偶数のときは真ん中の二つのどちらかでいいです。初心者で3つぐらいまでならなんとかできそうなんですが・・。結構いきづまってます。お願いします。

  • 50音順にわける。

    エクセルに入力された1000件程度の人名を50音順にわけて、検索が出来るようにしたいのですが何かいい方法はありますか? また、データがどんどん増えていくので、初心者でも簡単に更新できるようにしたいのですが・・・。 仕事で利用しているものなので、都合上管理するソフトを導入する事が出来ないので・・・。 宜しくお願いします。

  • 項目1の日付順に並べ項目2の番号順に並べる方法

    ちょっとクエリーを組むのに悩んでいます。 下記のようなデータがあった場合に 項目1のグループ毎の最大の日付順に並べ、 項目2の番号順に並べたいのですが、 どういうクエリーを書いたらいいのか悩んでいます。 何かいい方法はないでしょうか? 元データ 項目1、項目2、日付 1、0、2011/8/15 1、1、2011/8/17 1、2、2011/8/20 2、0、2011/8/16 3、0、2011/8/18 3、1、2011/8/19 出力結果 項目1、項目2、日付 1、0、2011/8/15 1、1、2011/8/17 1、2、2011/8/20 3、0、2011/8/18 3、1、2011/8/19 2、0、2011/8/16

    • ベストアンサー
    • MySQL
  • c言語プログラミングの質問です。

    整数NとN個の整数を受け取り,受け取ったN個の整数のうち最大のものを表示するプログラムを記述せよ. ただし,N>0とする. 入出力例 入力 ⇒ 出力 3 2 1 8 ⇒ 8 5 13 14 11 12 15 ⇒ 15 2 -1 -2 ⇒ -1 という問題です。「3つの数の中から~」という場合はそれぞれa,b,cとおいて比較できるのですが、この問題のような場合はどうすればいいですか。

  • C言語プログラミングで「コマンドラインから3つの整数を入力し、大きい順に並べる

    C言語プログラミングで「コマンドラインから3つの整数を入力し、大きい順に並べるプログラムの作成」なのですが,どなたかわかる人はいらっしゃりますか? C言語初心者です. if else文を使って作成するのですが,整数の入力において、同じ数字を認める方法と認めない方法がありますが,両方教えていただけると助かります. 例えば 10、5、21の数字をコマンドラインから入力したときに 出力結果は21、10、5と並ぶ. 同じ数字を認めるとき、例えば 10、10、30と入力したとき出力結果は30、10、10となる 同じ数字を認めないときは、コマンドラインからの入力時に、もし同じ数字が入力されたらエラーメッセージを返して終了 といった具合です.どなたかお願い致します.

  • わかりません・・・。

    100個以下の整数を読み込んで、読み込んだ整数の一覧,それらのうちの最大値と二番目に大きい値とを表示するプログラムをつくりたいのですが、わかりません。 教えてください!! 実行例 整数は何個ですか:5 1 個目:65 2 個目:30 3 個目:98 4 個目:10 5 個目:54 入力された整数は 5 個で, 65 30 98 10 54 です. 最大値は 98 です. 二番目に大きい値は 65 です. ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー #include<stdio.h> #define number 100 int main (void) { int i; int seisu[number]; int max; puts("整数を入力してください。"); for(i=0, i<number, i++){ printf("%2d番",i+1); scanf("%d",&seisu[i]); } max=seisu[0] for(i=1, i<number, i++){ if (seisu[i]>max) max=seisu[i]; } printf("最高点:%d\n",max); return(0); } までしかわかりません。 2番目に大きい値と‘整数は何個ですか: ‘と‘入力された整数は 個で です。‘の部分はどうすればいいのでしょうか??

  • 番号順に配列するには?

    番号順に配列するには? A列に飛び飛びに番号が入力されていて、 その隣にデータがあります。 それをA列の番号順に、飛んでいる番号は空白にして 番号と一緒にデータを配列するにはどうしたらいいでしょうか??

  • 為替順張りのやり方

    初心者は順張りをすればいいとよく聞きますが、全く順張れません。 初心者はどのような状態でかえば順張りしやすいのでしょうか? 教えてください。 お願いします。

  • お願いします。

    ・10でわれば7残り、12でわれば3残る整数のうち、9でわれば3残る最小の数は ? です。 ・380個より多く、400個より少ない碁石を4列に並べても、6列に並べても、9列並べても2個あまるとき、碁石は全部で ? 個です。 ・縦3cm、横2cmのタイル70枚で最大の正方形をつくると面積は ? cm2になります。 ・5でわったら1あまり、3でわったら2あまる整数で、3けたの整数は、 ? 個あります。

  • 弥生会計、伝番順に並べ替えたい

    弥生会計05を使っています。 振替伝票を入力後、仕分日記帳を見るとデータが日付順に並んでいるのですが、これを伝番順に並べ替えることはできないでしょうか。 よろしくお願いします。

専門家に質問してみよう