プチコン3号 SmileBASIC コミュニティプレイ日記ジュン junkomi2015/11/24 06:50:38配列をソートするプログラムです。2そうだね 7返信プレイ済み2017/11/03 15:06:54に取得
プチコン3号 SmileBASIC コミュニティ返信[1]親投稿otta777 otta777a2015/11/24 8:23プチコン3号にはSORT,RSORT命令で昇順ソート、降順ソートをする 命令があります。詳しくはヘルプを参照して下さい。 ソート命令が無いBASICではこういうプログラムを組んでソートをして いました。これはバブルソートというアルゴリズムですがこれ以外にも 色々なアルゴリズムがあります。 0そうだね プレイ済み2017/11/03 15:06:54に取得
プチコン3号 SmileBASIC コミュニティ返信[2]親投稿ジュン junkomi2015/11/24 8:29SORT命令の存在は知ってたのですが、例えば合計点数の高い順に出席番号を並び替えるプログラムを組むのにSORT文を使って出来なかったので自作してみました。0そうだね プレイ済み2017/11/03 15:06:54に取得
プチコン3号 SmileBASIC コミュニティ返信[3]親投稿ジュン junkomi2015/11/24 8:33配列Cには、合計点数。配列Dには、出席番号が入っています。0そうだね プレイ済み2017/11/03 15:06:54に取得
プチコン3号 SmileBASIC コミュニティ返信[4]親投稿otta777 otta777a2015/11/24 8:41なるほど、そういうことでしたか。 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,511そうだね プレイ済み2017/11/03 15:06:54に取得
プチコン3号 SmileBASIC コミュニティ返信[5]親投稿otta777 otta777a2015/11/24 8:42得点の高い順に並び替えるならSORTではなくてRSORTですね^^;;;0そうだね プレイ済み2017/11/03 15:06:54に取得
プチコン3号 SmileBASIC コミュニティ返信[6]親投稿ジュン junkomi2015/11/24 8:59試してみました。RSORTにして実行したら、思う通りにソートされました。アドバイスありがとうございます。1そうだね プレイ済み2017/11/03 15:06:54に取得
プチコン3号 SmileBASIC コミュニティ返信[7]親投稿otta777 otta777a2015/11/24 9:08文字列配列変数を元に並び替える場合だけは少し注意を。 文字数より文字コードを優先してソートするため文字数が多くても キャラクターコードが小さい方が先になります。 昇順だと "AAA"<"Z" となります。1そうだね プレイ済み2017/11/03 15:06:54に取得