• ベストアンサー

Processingについて

Processingで1~76からランダムに重複なく25個の数字を取り出したいのですが、 そのプログラム文を教えていただけませんか? 取り出した25個のの数字は、a1~a25にそれぞれ代入するつもりです。

質問者が選んだベストアンサー

  • ベストアンサー
  • organa
  • ベストアンサー率75% (3/4)
回答No.1

こんにちは。 こんな感じでどうでしょう。 (a1~a25だと代入が面倒なので配列にしました) ------ int x[] = new int[77]; int data[] = new int[25]; int rd = 0; int tmp = 0; int i = 0; int j = 0; for(i=0; i<77; i++) { // インデックスと同じ値を代入します x[i] = i; } for(i=76; i>=1; i--) { rd = (int)random(1, i); // 乱数をインデックスとして利用し、その配列の中の値と配列末尾の値を交換します // ※末尾(乱数のMAX値)はループごとにデクリメント tmp = x[rd]; x[rd] = x[i]; x[i] = tmp; // 25個用 data[j++] = tmp; if(j >= 25) { break; } } for(i=0; i<25; i++) { println(data[i]); } ーーーー ↓参考になりますよ^^ http://okwave.jp/qa/q1240730.html?pg=0

haoh80
質問者

お礼

おかげさまで、思い通りのものが組みあがりました! ありがとうございます!!

関連するQ&A

  • processing

    processingで簡易ゲームを作ろう思うんですが、だれか簡単なプログラムをおしえてください。

  • Processing

    Processing の勉強を始めました。 File名を入力して、そのファイルからデータを loadするというプログラムはProcessing では書けないのでしょうか。Examples には載ってないようですが。

  • processingの文字入力について

    現在、プログラミング言語processingを勉強しているのですが、どのようにプログラムを書いたらいいか分からないので、教えてください。 作ろうとしているのは、フラッシュ暗算を行うプログラムなのですが、 processingの場合は、文字入力するときに、1文字しか認識されませんが、 もし2文字、3文字などを入力したい時は、どのようにすればいいのでしょうか? 例えば、フラッシュ暗算で、合計値が52だったとき、52を入力すると、正解とでるプログラムを作りたいわけですが、おそらく配列を使うと思いますが、いったいどのようにしたら52という数字を配列に格納させればいいのでしょうか?

  • Processingについて質問です!

    Processingで、 エアホッケーのゲームを作成しているんですが、 なかなかうまくできません。 何でもいいので、何かホッケー的なゲームで、 参考になるプログラムを作ってくれませんか? よろしくお願いします。

  • processingで書き込みはできますか?

    processingで再生した画面に書き込みをすることは可能でしょうか? 再生した画面にたとえば「りんご」とかけるようになったら、それをなおかつ書いた文章を保存したいのです。 保存ボタンを作ってクリックしたらその文字を保存でき、次に起動したときにはその文字がもう保存されている仕組みにしたいです。 ですが、プログラムを探しても書き込みまではできるのですが、それを保存するプログラムがわかりません。 よろしければ、ソースコードまたは使えそうなサイトが載っている場所を教えていただければとお思います。

  • 重複しない組み合わせのプログラム

    0から9のうち4つの数字を取り出すというC言語のプログラムをつくりたいのですが、ランダム関数を用いると重複してしまいます。どのようにしたらよいでしょうか?

  • processingで最初の1行からつまづいてます

    「Processingをはじめよう」を買ったものの、最初からつまづいてプログラムが走ってくれません。 ellipse(50,50,80,80); というコードです Mac osXを使っています。 他のサイトを読み、 line(0, 0, 100, 100); なども試しましたが、同様にエラーとなります。 エラーメッセージは以下です。 at processing.mode.java.JavaEditor$23.run(JavaEditor.java:697) at java.lang.Thread.run(Thread.java.745) どなたかご助言ください。

  • エクセル関数(抽出)について

    宜しくお願い致します。 A列にランダムな数字が入力されている。(重複する数字はない) B列にランダムな数字が入力されている。(重複する数字がある) ここで、A列のセルの数字をB列の任意値分全部抽出したいのです。    A   B 1 815  9 2 330  8 3 209  6  4 110  9  5  24  9 6 782  5 7   3  9 これを以下のようにする方法を教えて下さい。 9 815 9 110 9  24 9   3 ※このA列の”9”もセルの中で指定したいのです。

  • processingのカーソルと画像の距離

    processingでクリスマスカードを作るのですが、どうしてもカーソルと雪だるまの距離があいてしまいます。この距離をあけないようにするにはどうしたらいいでしょうか?わかる方がいらっしゃいましたらどうぞよろしくお願いします。 void setup() { size(600,600); smooth(); noStroke(); } int flag = 0; void draw() { background(10,50,100); fill(0); rect(0,450,600,280); int x=50,y=30; fill(#006e54); triangle(300,50,400,200,200,200); triangle(300,50+x,420,280,180,280); triangle(300,50+2*x,420+y,280+2*x,180-y,280+2*x); fill(190,103,31); rect(275,280+2*x,50,150); textSize(45); fill(255,0,0); text("Merry X'mas!",170,580); fill(random(255),random(255),random(255)); translate(249,5); beginShape(); vertex(50 , 50 - 20); vertex(50 - 12 , 50 + 15); vertex(50 + 18 , 50 - 8); vertex(50 - 18 , 50 - 8); vertex(50 + 12 , 50 + 15); endShape(CLOSE); fill(random(255),random(255),random(255)); ellipse(20,90,30,30); fill(random(255),random(255),random(255)); ellipse(100,130,30,30); fill(random(255),random(255),random(255)); ellipse(10,170,30,30); fill(random(255),random(255),random(255)); ellipse(55,220,30,30); fill(random(255),random(255),random(255)); ellipse(130,250,30,30); fill(random(255),random(255),random(255)); ellipse(90,350,30,30); fill(random(255),random(255),random(255)); ellipse(30,300,30,30); fill(random(255),random(255),random(255)); ellipse(10,360,30,30); fill(random(255),random(255),random(255)); ellipse(160,320,30,30); fill(random(255),random(255),random(255)); ellipse(-40,330,30,30); if(mousePressed) { flag=1; } else { flag=0; } if(flag==1) { snowman(); } else { textSize(20); fill(255); text("Please press mouse to create a snowman!",-150,20); } } void snowman() { int speed=2; int x=mouseX; int y=mouseY; x+=random(-speed,speed);//let snowman move randomly // x=constrain(x,0,500); y+=random(-speed,speed); y=constrain(y,0,600); fill(255); //make a little snowman ellipse(x,y-50,50,50); ellipse(x,y,100,100); fill(0); ellipse(x-10,y-55,10,10); ellipse(x+10,y-55,10,10); fill(#ff0000); triangle(x-10,y-50,x+10,y-50,x,y-30); }

  • mathematicaのプログラムで困っています

    mathematicaで、重複を許さずにランダムに数字を発生させる方法が分かりません。 例えば、1~100までの数字を、小さい順などではなく、ランダムに並べたいのです。Randomを使うと、同じ数字が何回も出てきてしまうのですが、重複はしないようにしたいのです。 初心者で、困っています。 分かる方いらっしゃいましたら、教えてください。 お願いします。

専門家に質問してみよう