• 締切済み

アルゴリズム

アルゴリズムってのがよくわからないんです。 キーボードより10個の整数を読み込んで表示し、大きい順に並べ替えて表示しなさい。そのアルゴリズムとは?という問題なんですがさっぱりわかりません。詳しく教えてくれませんか???

みんなの回答

  • Oh-Orange
  • ベストアンサー率63% (854/1345)
回答No.4

★すでに3つのアドバイスがありますが、もう1つアドバイスをプレゼント。 (1)10個の整数値を保存する配列を用意。→宣言 (2)繰り返し文の中で、10回『scanf』などで整数値を取得させる。→for文など (3)取得した10個の整数(配列)をソートする。→バブルソートまたはC標準の『qsort』関数で行う。 (4)ソート後の結果を『printf』関数などで画面へ出力。 サンプル: int main( void ) {  int num[ 10 ];  int i;    for ( i = 0 ; i < 10 ; i++ ){   /*   『scanf』関数などでキーボードより整数値を num 配列に代入する。   */  }  /*  ここで、10個の配列データをソートする。  */  for ( i = 0 ; i < 10 ; i++ ){   /*   『printf』関数などでソート結果を画面へ出力する。   */  }  return( 0 ); } 最後に: ・上記のコメントの部分は質問者さんが考えて下さい。 ・ポイントは、データ入力、ソート処理、データ出力の3つのブロックに分けて  プログラミングしていきます。→この手順こそが『アルゴリズム』って事です。 ・以上。おわり。

  • yukimican
  • ベストアンサー率70% (112/159)
回答No.3

「何かをするための方法、手順」をアルゴリズムと呼びます。 プログラムはアルゴリズムをC言語などのプログラミング言語で実現したもの、と考えてください。 今回の場合は「10個の数字を大きい順に並べ替える方法」ですね。 一般的に「ソート(sort)」と呼ばれるものです。 大抵は整数値が配列に入っているものをソートするわけですが、 まずは、自分で配列の中身を並べ替えるにはどうしたら良いか考えてみると良いでしょう。 同じ配列の中身を入れ替えたり、新しい配列を作って結果を入れたり、いろいろ方法はあります。 後はそれをプログラムでどのように書くか。 この辺は他の方の回答にあるリンクが参考になるでしょう。 (というか、おそらく課題か何かでしょうから、既に授業でやっていると思うのですが) プログラムを作るときは、問題を1つずつ切り分けて順番に作っていきましょう。 (何のプログラミング言語を使っているかわからないので、大まかな手順だけ) (1) 要素数10の配列を作り、各要素に数値を代入する(最初は固定の数値を直接代入) (2) ループを使って配列の中身を表示する (3) 中身を表示する前に、配列の内容をソートする   →他の方の回答にあるリンクを参考に (4) 固定値の代入じゃなくて、キーボードから入力した数字を配列に入れるようにする

noname#35109
noname#35109
回答No.2

参考になれば↓。 「いろいろなソートアルゴリズム」 http://www.ics.kagoshima-u.ac.jp/~fuchida/edu/algorithm/sort-algorithm/ 一番上の バブルソート がオーソドックスで地道なアルゴリズムです。

  • Pesuko
  • ベストアンサー率30% (2017/6702)
回答No.1

>さっぱりわかりません http://www5c.biglobe.ne.jp/~ecb/algorithm/algorithm00.html >キーボードより10個の整数を読み込んで 入力・代入 >表示し 文字列・表示 >大きい順に並べ替えて ソート >表示 文字列・表示

関連するQ&A

  • アルゴリズムが分からない。誰か助けて。。。

    今、授業でアルゴリズムを習っているんですけど、どうやって解けばいいのか分からないです。問題は「キーボードから2つの数値を入力し、大きい数から小さい数を減算した結果を画面表示する。」です。誰か教えてください。出来れば解くコツとかあれば教えてください。

  • 組み合わせ問題のアルゴリズム

    あらかじめ用意された整数を足して、その合計がある指定された整数と等しくなる組み合わせの数を調べるプログラムを書こうとしているのですが、苦労しています。 具体例がないと伝わりにくいかもしれないので例をあげると、 例えばあらかじめ用意された整数というのが 1・1・2・2・5・8 の4つで、 指定された整数が10である場合は、 8と2 8と1と1 5と2と2と1 という3通りの組み合わせがあるので、3を出力したいというわけです。 今まではもっと単純なアルゴリズムしか考えてこなかったので、こういった組み合わせのような問題が難しく感じられます。 こういう場合、アルゴリズムはどのようなものが考えられるでしょうか。 よろしくお願いします。

  • アルゴリズムについて教えてください

    トランプのダイヤのカードが13枚ある。 順序はバラバラになっている。 小さい順に並べるアルゴリズムを考えよ。 という課題が出されました。 アルゴリズムの意味はわかるのですが、やり方がさっぱりわかりません。確率の考え方を使うのですか? ヒントでもいいので教えてください。 よろしくお願いします。

  • 再帰アルゴリズム

    再帰アルゴリズムの練習のため問題に取り組んでいるのですが、問題集に解答がついておらずイマイチ理解できていないので教えていただけると助かります。 d個の毎インデックスで(0,0,...,0)から(n,n,...,n)まで反復させるアルゴリズムを反復アルゴリズムと再帰アルゴリズムの両方考えよ です。 (0,0,0,...,0) (1,0,0,...,0) (1,1,0,...,0) (1,1,.....,1) ... (n,n,.....,n) と表示を繰り返すプログラムでいいのかな、と思い反復の方は二十ループを用いてプログラムかけたんですが、再帰の法がアルゴリズムがどうも理解できていません。 ご教授願えればと思い、お願いします。

  • アルゴリズム

    この問題も分かりません。 あるアルゴリズムの実行時間がO(NlogN)であり、別のアルゴリズムは(N~3)であるとする。 このことから2つのアルゴリズムの性能についてどのようなことがいえるか。 分かる方、よろしくお願いします。

  • アルゴリズム

    アルゴリズムの勉強をしていて、時間計算量に関する問題があり、解いたのですが、解答が載ってなく困ってます。正誤の判断と、もし間違っているなら、何が間違っているのかを教えて頂けると助かります。 ある問題において、大きさ(データ量)nに対して、アルゴリズムA、B、Cの時間計算量が、それぞれn、n^2(nの2乗)、2^n(2のn乗)であるとする。 (1)アルゴリズムAを用いて10秒間にn=100の問題が解けた。20秒かけるとき扱える問題の大きさnの値を求めよ。 解) n=100*2 =200 (2)ある計算機を用いてアルゴリズムBで10秒間にn=100の問題が解けた。100倍早い計算機を用いたとき、10秒間に扱える問題の大きさを求めよ。 解) 求める問題の大きさをxとおくと n=(100^2)*100 =10000*100 =1000000 (3)アルゴリズムCを用いて1時間にn=20の問題が解けた。n=40の問題を解くのに何時間かかるか。 解) 2^40=(2^20)*(2^20) =1*(2^20) =2^20[時間]

  • アルゴリズムに詳しい方、本当にお願いします

    変数、代入『←』、判定『≦』、和演算『+』、積演算『×』を使い、1から10までの整数の積を求めるアルゴリズムを作成しなさい。という問題がいまいち分かりません。作成例は画像のように手順4まで中でつくれ、というものです。okwaveの回答者さんたちには大変お世話になっています。いつもありがとうございます。お願いいたします。

  • ◆アルゴリズムについて

    ◆アルゴリズムについて なるべく沢山の意見を寄せられると助かります。 関西にある某専門学校の事です。 俺は「初心者でもついていけますか?」と聞き、 受け付けは、「普通の問題だから初心者でもついていけます」と答えました。 それがアルゴリズムなのですが、その参考書を開くとわからないの桁が違い、自習のやり方すら何をすればいいのかわかりません。 勿論、授業もさっぱりわかりませんでした。 先生方や受け付けは、質問すればいい、とか、聞けばわかる、の返答ばかり・・・。 難しすぎて何を質問すればいいのか、わからないくらいのものでした。 授業料を無駄にしたくなく何とかついていこうとして、ついていけず、タガが外れてうつ病にかかりました。 事実上、リタイアしてしまいました。 自分のできる最大限の努力はしたのですが・・・ ・そこで聞きたいのですが、アルゴリズムは普通の問題なのでしょうか? ・初心者でもついていける科目なのでしょうか? ・またアルゴリズムを習得するには、大体何年かかりますか?

  • ファイル検索のアルゴリズムについて

    ファイル検索のアルゴリズムで一番高速なアルゴリズムについて教えて下さい。 やりたいことは、 あるフォルダ以下のファイル(フォルダであれば更にその下まで)検索し、 現在の時刻から一番近い更新日時の早い順にファイルを10個検索するというものです。 ファイル本体をすべて検索するプログラムについてはできていまして、 現在の時刻から一番近い更新日時の早い順にファイルを10個検索する方法に関して 高速なアルゴリズムがありましたら教えて下さい。 プログラミング言語がPHPなのでPHPで実現可能なアルゴリズムですと嬉しいです。

    • 締切済み
    • PHP
  • C++でのアルゴリズム

    次の条件を満たすアルゴリズムをC++のコードで教えてください! 大きさ2×1の長方形n個を 縦2 横n の長方形になるように並べるときの並べ方の総数を求めるアルゴリズム 入力nは、1以上の整数が入力される前提でよい。 例として、 n=1 1通り n=2 2通り n=3 3通り n=5 8通り n=7 21通り となります お願いします。