• ベストアンサー

確率?

急ぎです ページ開いたときに確率によって出る画像なんかを変える(何%で画像A、残り何%で画像Bが出るみたいな感じ)ことができるって聞いたことあるんですけど、やり方知ってる方が居ましたら教えてください。 自分でも調べてみたのですが良くわかんないってゆうか見つからないとゆうか・・・・ お願いします

  • HTML
  • 回答数5
  • ありがとう数2

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

  • ベストアンサー
  • callhiro
  • ベストアンサー率35% (54/152)
回答No.5

2つだとできたんですよね? 4つではどんな風にできないんでしょう? 具体的に教えてください。 ・4つの画像がどうしても出てこないのか ・4つにしようとするとエラーが発生するのか など。 $image_noにどんな数字が入っているかを printで表示させてみるなどして、 どこまでが正しくできているかを見極めていけば どこが間違いの部分かがわかると思いますよ。

その他の回答 (4)

  • callhiro
  • ベストアンサー率35% (54/152)
回答No.4

あれ?CGIも試されたんですか? 2つだとうまくいって4つだとうまくいかないのは 単なるミスだと思いますがどのように書かれてますか? エラーが出るのでしょうか? それとも4枚出るはずが3枚しか出ないとかでしょうか? imageA:10%(数字の0) imageB:30%(数字の123) imageC:40%(数字の4567) imageD:20%(数字の89) と言う風に決めておくと $image_no = int(rand(10)); if($image_no < 1){ $image = imageA.jpg; }elsif($image_no < 4){ $image = imageB.jpg; }elsif($image_no < 8){ $image = imageC.jpg; }else{ $image = imageD.jpg; } print "<img src=$image>\n"; と書けばよいかと思います。 もしこれでもうまくいかなかったら、 $image_no = int(rand(10)); の上に srand; と書いてみて下さい。 そうすると乱数を初期化します。

howairu
質問者

補足

何度もありがとうございます やってみたのですができませんでした 思ったのですが出来ないのはたぶん(とゆうか確実に)僕のCGIに対する知識の無さのせいだと思うんですよ それか認識の間違いか それでそうゆうのを探してみたんですがさっぱりでした どうしましょう

  • callhiro
  • ベストアンサー率35% (54/152)
回答No.3

そういえばこれぐらいJavaScriptでも出来ますよね。 CGIならある程度知識があるのですが、JavaScriptはほとんど使ったこと無いので CGIならわかると思って以下のように質問してしまいました。 でも基本的にはJavaScriptの方法と同じですよ。 違いは、JavaScriptの場合は、最初にすべての画像を読み込んでしまうはずなので、 ランダムに表示させたい画像が多くなった場合あまりお薦めできません。 CGIの場合は、表示させる画像しか読み込まないです。 20%で画像A、80%で画像Bが出るみたいな感じにするとしたら $image_no = int(rand(10));  # $image_no に0~9の数字が入ります。ここでは必ずしも整数化する必要はありません。 if($image_no < 2){ $image = imageA.jpg; }else{ $image = imageB.jpg; } print "<img src=$image>\n"; っていう感じですかね。 僕が実際に自分のホームページでやってるのは、 300枚ぐらいの画像を等確率でランダムに表示させてますので、 配列「@imagefiles」にファイルから読みとった300枚の画像のファイル名(パス)を入れた後に、 $image_no = int(rand($#imagefiles+1));   print "<img src=$imagefiles[$image_no]>\n"; のように使ってます。 この場合は配列の引数にそのまま使ってますので整数化する必要があります。

howairu
質問者

補足

ありがとうございます やってみたのですがうまくいきませんでした k-ishidateさんのもそうだったのですが、画像が2つだとうまくいくんです でも、僕が今やりたいのは4つ(始めから言っとけとかいうツッコミはなしで)なんですが、4つになるとできなくなるんですよ どうなんですかね できればくわしく教えていただけないでしょうか

noname#4320
noname#4320
回答No.2

JavaScriptではどうでしょう。HTMLに埋め込むので、 サーバで自作CGIが使えなくても可能です。 私は以下のコードで確認をしてみました。とりあえずダミーの画像リンクを 置いて、その後JavaScriptで乱数を発生させ、約1/2の確率で 瞬時に画像の置き換えをしています。 <HTML> <BODY> <IMG SRC="dummy.jpg" NAME="img" > <SCRIPT LANG="JavaScript"> <!-- i = Math.random(); if ( i > 0.5){ document.img.src = "Dscf0031.jpg"; } else { document.img.src = "Dscf0032.jpg"; } // --> </SCRIPT> </BODY> </HTML> 画像の変更は、参考URLを見てみて下さい。乱数については、 検索サイトで「JavaScript」「乱数」で検索してみてください。

参考URL:
http://www.ueda.info.waseda.ac.jp/~gaku/js/
howairu
質問者

お礼

ありがとうございます これでもよさそうなのですがなんかちがうきがするんです どうなんでしょうか(謎 とにかくありがとうございました 一度試しにやってみます

  • callhiro
  • ベストアンサー率35% (54/152)
回答No.1

あくまでHTMLでやりたいという話ですか? CGIを使えば簡単に出来ますが・・・。

howairu
質問者

補足

はい、出きるのであればHTMLがいいです。 でも、そのCGIのやり方も教えていただけるのなら教えてほしいです

関連するQ&A

  • 確率の問題です。

    10本のくじの中に当たりが3本入っている。このくじをAがまず1本引き、残りからBも一本ひく。Aが当たったとしてBも当たる条件付き確率を求めよ。 わかる方、詳しい解説をお願いいたします。

  • 3人で競う時に勝つ確率

    3人で競う時に勝つ確率 Aさん,Bさん,Cさんの3人で競う時にAさん、Bさん、Cさんが勝つ確率はそれぞれどれくらいでしょうか? ただし、前提条件として AさんとBさんの2人で競ったときはAさんが勝つ確率は0.6(Bさんが勝つ確率は0.4) AさんとCさんの2人で競ったときはAさんが勝つ確率は0.7(Cさんが勝つ確率は0.3) BさんとCさんの2人で競ったときはBさんが勝つ確率は0.6(Cさんが勝つ確率は0.4) こんな問題を思いついたのですが、自分で解くことができません。 確率に詳しい方、よろしくお願いします。

  • 数学、確率の問題です。

    赤玉6個と白玉4個の入ってる袋からAが二個の玉を同時に取り出し、続いて、残りからBが二個の玉を同時に取り出して、赤玉の多い方を勝ちとする。このとき、次の確率を求めよ。 一、Aが勝つ確率 二、引き分けになる確率 全くどうといたらよいかわかりません!すみません、お願いします!

  • 試行回数と確率

    AさんとBさんはそれぞれ特定の確率で本当のことを言い、残りの確率で嘘を言います。 Aさんに3回質問したところ、3回とも本当のことを答えました。 Bさんに10回質問したところ、9回本当のことを答え、1回嘘を答えました。 AさんとBさんどちらの言葉を信じた方が、本当である可能性が高いでしょうか?

  • 確率の問題

    確率の問題で、答えに自信がないので見てください。 【問題】A,B,C,D,Eの5人が、1,2,3,4,5の数字が書かれたくじを引く。このとき、Aが「1」のくじを、Bが「2」のくじを引く確率を求めなさい。 【私の答え】 すべてのくじの引き方は、5!通り。 (A,B)=(1,2)のとき、 残りはC,D,Eが3,4,5のくじを引くので、3!通り。 したがって求める確率は、3!/5!=1/20 これで合っていますか?

  • 確率

    数学の確率の問題を解いているのですが、解答を持っていなく自分の答えが合っているのか分からないので、どなたか答えを教えてください。 色のついた52個のボールがあります。(青:13 赤:13 黄:13 緑:13)そして、それぞれの色のボールにはA~Mの文字が書かれています。この時、5つのボールをランダムに取り出します。 a) 2つのボールが同じ文字で残り3つのボールはそれぞれ異なる文字の時の組み合わせは何通りあるか b) この時、確率はいくつか c) 2つのボールが同じ文字で、残り3つのボールの内、2つのボールと一つのボールが異なる文字の時の組み合わせは何通りあるか d) この時の確率はいくつか

  • 確率行列 問題

    A,Bを確率行列とする。 この時A×Bが確率行列となることを示せ。 画像は2の(2)です。 お願いします(>_<)

  • 確率の問題で

    問題自体はさほど難しい問題ではないのですが、解説がどうなのか?と思ったので質問します。 A,B,Cの3人が試合をする。まず、2人が対戦して、買った方が残りの1人と対戦する。これを繰り返して、2連勝した人が優勝する。AがB,Cに勝つ確率をp、qとし、BがCに勝つ確率を1/2とする。次の確率を求めよ。 ただし、0<p<1,0<q<1とする。 (1) 第1戦にAとBが対戦し、Aが勝った場合にAが優勝する確率 この問題の解説では、「Aが第1戦に勝ったもとでAが(最終的に)優勝する確率」をPとおいて求めています。 Pを計算すると、P=2q/(2-p+pq)となります。ここまではいいのですが、この後、 Aが第1戦に勝って優勝する確率は p*P=2pq/(2-p+pq) として、これを答えとしています。 もし、問題が「・・・Aが勝って、Aが優勝する確率」とあるなら、何も疑問に思うことはないのですが、問題では「・・・Aが勝った場合に、Aが優勝する確率」とあるので、第1戦でAが勝ったという条件で、Aが優勝する確率を求めればいいので、 答えは、P=2q/(2-p+pq) ではないかと思うのです。 第1戦にAが確率pをかける必要はあるのでしょうか?

  • <確率の問題>

    <確率の問題> ご覧になった方もいらっしゃるかと思いますが、平成教育スペシャルで放送された問題です。 3つのポチ袋(A、B、Cとする)があり、おとし玉が入っているのは1つだけで、残り2つは空っぽです。 子どもが3つのポチ袋から一つを選ぶ(A) 残り二つをたけしが持っている(B,C) たけしが(C)の袋を確認すると空だったので取り除いた。 子どもに(A)と(B)を交換したいか尋ねる。 子どもは… 1.交換した方がよい 2.交換しないほうが良い 3.交換してもしなくても同じ の三択で、正解は「交換した方が良い」でした。 (あとから調べて解りましたが、たけしが、どれが当たりかを知っているという条件のみ、この回答は正解のようですね) 放送ではその条件が示されていなかったので、視聴者側は納得いってないみたいですが。 それはおいといて、それ以前の初歩的な質問です。。。 この問題、全然わけがわからないので知人に聞いたのですが(私は算数とか数学とかまったく苦手なので…) まず、子どもがAを取り、たけしがBとCを持っている時点で、二人とも当たりが入っている確率は1/3ずつだと言っています。 (一枚を取り除く前の段階のことです) そこでもう私ついていけませんでした・・この知人の言っていることって、正しいのですか? 私は、最初にたけしの方が子どもより選択肢を1枚多く持っている時点で、たけしの方が当たりの確率高いんじゃないかと思ってしまいますが… もし知人の言っていることが正しければ、理由を解り易く教えて頂けませんでしょうか… 知人の言っていることが間違いなら、最初の時点(子どもがA、たけしがB、Cを持っている)ではそれぞれ当たりを引く確率はいくつですか?

  • 目覚める確率

    事象A,Bがあり,AとBがともに起こる確率P(A∩B)は (a)AとBが独立のとき P(A∩B)=P(A)・P(B)・・・・(1) (b)AとBが独立でないとき P(A∩B)=P(A)・PA(B) PA(B)とはAが起きたという条件のもとでBが起きる確率である。 これを理屈を考えず、丸暗記してました。そうしたら以下のような問題でつまずきました。 A,B,Cの3人でじゃんけんをして,勝者を1人選ぶ,3人あいこならじゃんけんを繰り返し,2人勝ちならば勝った2人で決戦するものとする。このときAが2回目で優勝する確率を求めよ。 解(1)3人→3人→A(→(1)1/3(2)1/9) (2)3人→2人→A(→(1)2/9(2)1/3) 矢印の上の数を掛けることによってAが2回目で優勝する確率は 1/3・1/9+2/9・1/3=3/27=1/9 (2)3人→2人→Aの確率が2/9・1/3ですよね。この部分が理解できません。 3人→2人の部分を事象A,2人→Aの部分を事象Bとします。 事象Aの確率にはAとBが勝つやAとCが勝つという事象を含み,事象Bの確率はAとCが対戦してAが勝つ、AとBが対戦してAが勝つという事象が含まれますよね。 これを掛けてしまうと、AとBが勝ちかつAとCが対戦してAが勝つという本来は起こりえない事象を考えてしまっているのではないかと思ってしまいます。場合の数の掛け算(積の法則)であれば,樹形図をイメージすれば理解できるんですが確率の掛け算というものがどうもピンときません。 説明するのは難しいかと思いますが、確率の得意な方、問題の疑問の解説と確率の掛け算について教えてください。

専門家に質問してみよう