【【 全体の目次 】

【 ←前に戻る この章の目次 次に進む→ 】


<実践編>

売り上げ個数順に並べるプログラム


では、「並び替え」処理を使って、おにぎりの個数順(大きい順)に並び替えるプログラムを作ってみましょう。並び替えるデータは次のようになっています。

おにぎり種類

A
B
C
D
E
F
G
H
I
J

売り上げ個数

10

17

9

6

16

7

15

13

14

8

これを使って、プログラムを作ってみましょう。

→「プログラム作成の秘けつ」

<おにぎりの個数順に並び替えるプログラムに必要な部品>

まず、プログラムを作るために必要な部品は次のようになっています。

赤字部分が必要な部品です。(赤字部分は、このまま入力しないように。)

まず青字の部分だけを入力したプログラムを作ってください。

そのあと、赤字部分の部品を自分で作っていって埋めていく形にします。

→<このプログラムを解くための復習>

 

<データ数Nの値を最初に指定>

並び替えるデータ数Nを最初に設定します。ここでは、データ数は10個です。

 

<配列にデータを入れる>

配列kosuu[]に並び替えたいデータを入れます(配列の初期化)。10個のデータを配列に入れます。

 

<変数の宣言>

並び替えの処理、出力部分に使う変数を設定します。先に、並び替え処理と出力部分の処理を考えてから、それらの処理に使った変数を宣言します。

 

<基本選択法の並び替え部分>

基本選択法の並び替え部分は、ワンパターンです。小さいもの順ならば、そのまま使い回せばいいでしょう。しかしながら、今度は大きいもの順に並び替える作業です。

説明・実習編で使った小さいもの順の並び替えをうまく利用して、今度は大きいもの順に並び変わるようにしてみて下さい。

原理は簡単です。今度は最小値ではなく、最大値を見つけて順番に入れ替えていく方法を取れば良いのです。とりあえず、変数minではなく、変数maxを利用します。後は、最大値の配列番号がmaxに入るように、処理をいくつか手直して下さい(minをmaxに書きかえる)。また、内側のループで、jが仮の最大値maxよりも大きければ、jが新たなmaxになるように工夫します(特に、kosuu[j]とkosuu[max]を比べる不等号に気を付ける)。

 

<並び替えたデータの出力>

最後に、並び替えたデータを出力して下さい。

→「エラー対処法」へ

部品を埋めることができたでしょうか?作ったものが実際にうまく行くか確認してください。うまく実行できたら、解答で確認してください。

次へ!