プレイ日記
ジュン junkomi
配列をソートするプログラムです。
2そうだね
プレイ済み
返信[1]
親投稿
otta777 otta777a
プチコン3号にはSORT,RSORT命令で昇順ソート、降順ソートをする 命令があります。詳しくはヘルプを参照して下さい。 ソート命令が無いBASICではこういうプログラムを組んでソートをして いました。これはバブルソートというアルゴリズムですがこれ以外にも 色々なアルゴリズムがあります。
0そうだね
プレイ済み
返信[2]
親投稿
ジュン junkomi
SORT命令の存在は知ってたのですが、例えば合計点数の高い順に出席番号を並び替えるプログラムを組むのにSORT文を使って出来なかったので自作してみました。
0そうだね
プレイ済み
返信[3]
親投稿
ジュン junkomi
配列Cには、合計点数。配列Dには、出席番号が入っています。
0そうだね
プレイ済み
返信[4]
親投稿
otta777 otta777a
なるほど、そういうことでしたか。 SORT命令には複数の配列変数を指定して一番最初に指定した配列変数の 内容を元に他の配列変数も並び替える機能があります。 以下のプログラムで望みの動作になりますか? DIM PT[5],ID[5] FOR I=0 TO 4 READ PT[I]:ID[I]=I NEXT SORT PT,ID FOR I=0 TO 4 PRINT I+1,PT[I],ID[I]+1 NEXT DATA 35,73,11,43,51
1そうだね
プレイ済み
返信[5]
親投稿
otta777 otta777a
得点の高い順に並び替えるならSORTではなくてRSORTですね^^;;;
0そうだね
プレイ済み
返信[6]
親投稿
ジュン junkomi
試してみました。RSORTにして実行したら、思う通りにソートされました。アドバイスありがとうございます。
1そうだね
プレイ済み
返信[7]
親投稿
otta777 otta777a
文字列配列変数を元に並び替える場合だけは少し注意を。 文字数より文字コードを優先してソートするため文字数が多くても キャラクターコードが小さい方が先になります。 昇順だと "AAA"<"Z" となります。
1そうだね
プレイ済み