• ベストアンサー

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