
※途中で戻りたい場合は、ブラウザの「戻る」機能を使ってください。
書き直してみる今まで作ったプログラムの流れが、うまく行っていないことで、一から書き直してみる事にしました。考えたのですが、このまま修正をして行こうと言うよりも、アルゴリズムから考え直したほうがいいのでは?と思えたのです。 今まで作った(短いですが)プログラムに未練はあるのですが、ここで躊躇しているわけには行きません(実際には躊躇してしまいましたが・・・)。 こんなリストにしてみました。 ![]() インデントなどはいい加減ですが、まず添え字を B とかにしないで、 I から J 、 K としていく方が見やすいとの指摘を受けましたので、その様にしました(以後そうしていくつもりです)。 プログラムリストを簡単に説明しますと、 配列変数を指定した後に、 1 から 42 までの数字をランダムに取り出します。 その後ですが(40行から)、配列変数の中身を順番にチェックする為に添え字 J を 0 から 5 までシフトしていき(0、1、2、3、4、5)、ランダムに取り出した A と同じならもう一度ランダムの数字を取り出しようにして、違ったらその配列変数の中身が空きかどうかをチェックします( 0 かどうか調べる)。 空きならループを抜けて配列変数に代入して、その数をPRINT文で表示。空いていなければ、添え字 J をシフトして再びチェック(FOR NEXT文)。 ループ(40行から60行のFOR NEXT文)を抜けた回数が6回なら( 0 から 5 まで)終わり。 とこんな感じで打ち込んでみました。 結果です。 ![]() 何回か繰り返しましたが、 1 から 43 までの数字でダブらずに6個ランダムに選ばれています。 ああ、やっと出来た・・・・!? 次章では、これらの数字を昇順に(小さい順)に並べ替える事にします。 結構引っ張ります。 |
Copyright(C) 2006. ピコピコテクノロジー All Right Reserved.