【超初心者】プログラミング質問スレ【基礎のキソ】

このエントリーをはてなブックマークに追加
952デフォルトの名無しさん:2010/05/25(火) 16:03:59
種が必要なのは疑似乱数だからだし
乱数表で毎回先頭から使ってたら毎回同じパターンになるんじゃ?
まあそれを利用した必ずカジノで勝てるゲームもあるけどw

サーバで暗号化とかなら/dev/random使ったりするな、これは乱数そのものだけど
953デフォルトの名無しさん:2010/05/25(火) 16:12:10
>>952
それ乱数そのものなのか?
それが疑似乱数だと思ってた。
954デフォルトの名無しさん:2010/05/25(火) 16:40:24
>>953
ああ、そういう意味じゃなくて、シードにするわけじゃなくて乱数値として使うって意味
955デフォルトの名無しさん:2010/05/25(火) 16:46:11
チップセットによってはハードウエアによる乱数ジェネレーターが乗ってたりする
これは乱数そのもの
956デフォルトの名無しさん:2010/05/25(火) 16:52:30
>>949

>>こんどゲーム作りたいんですが、乱数って時間とか使うんですよね?

そのとおりに聞いたんなら、うまく伝わってないじゃない?

乱数の代わりに時間を使うと取られたのかも
957デフォルトの名無しさん:2010/05/25(火) 16:52:50
小さいサイコロがハードの中に入っていてそれで作るんだよな。
958デフォルトの名無しさん:2010/05/25(火) 18:50:00
ゲームで使う乱数なら擬似乱数で十分。
wikipediaの擬似乱数に書いてある混合合同法を例にあげると
14992×673+944 = 10090560 → 09056
09056×673+944 = 06095632 → 09563
09563×673+944 = 06436843 → 43684
43684×673+944 = 29400276 → 40027
40027×673+944 = 26939115 → 93911
これが乱数になる。しかし、初期値が同じでスタートするなら、
毎回同じ乱数の数列になってしまう。
そこで時間などを加工して種にするのは良く使われるアイデアだ。
種を作るタイミングが12:00と12:01の場合では、
異なる乱数の数列が作成される。

普通はこの程度で十分。
959デフォルトの名無しさん:2010/05/25(火) 18:52:50
> 発言が否定されたので不安だったり…

どういう感じで否定されたのか、具体的に教えて欲しい。
960デフォルトの名無しさん:2010/05/25(火) 19:01:48
相手のキャリアにもよる。
昔のアーケードゲームには RTC が載っていなかったから、乱数の種には起動してから
ユーザー入力があるまでの時間を使ったりしていた。

って、そんなケースの訳は無いなw
セガテトリスとかがそうなんだが、トリビアを披露してみたくなっただけ。失礼w
961デフォルトの名無しさん:2010/05/25(火) 19:04:18
連続で済まん。
種には、と書いたが、毎回同じ種で、ゲーム中の用途と別にフレーム毎に一つ乱数系列を進める
(乱数を取る)だけでも望みの効果を得られるので、そっちで実装するチームの方が多かったと思う。
962デフォルトの名無しさん:2010/05/25(火) 19:18:21
>乱数の種の事で盛り上がっててて、
>「こんどゲーム作りたいんですが、乱数って時間とか使うんですよね?」と聞いたら
>発言が否定されたので不安だったり…

種の話をしてるのに
963デフォルトの名無しさん:2010/05/27(木) 03:28:24
HTML程度しか分からない超初心者です。
PHP、C++等を覚えたいのですが、とても参考になった本等ありましたら教えて下さい。
964デフォルトの名無しさん:2010/05/27(木) 03:43:57
またおまえか

推薦図書/必読書のためのスレッド 56
http://pc12.2ch.net/test/read.cgi/tech/1272442231/
965デフォルトの名無しさん:2010/05/27(木) 17:07:40
>>963
C++ なら
 プログラミング言語C++
 http://www.amazon.co.jp/dp/475611895X

php なら習うより慣れろ。
サンプルとかチュートリアルで検索して、改造しながら覚えるのがお勧め。
一番の敵は飽きだから、何か詰まったら、その問題ほっといて別の機能を触ってみるといい。
966デフォルトの名無しさん:2010/05/27(木) 19:52:06
>>965
売り切れじゃん
967デフォルトの名無しさん:2010/05/27(木) 20:58:24
中古でいいじゃん
968デフォルトの名無しさん:2010/05/27(木) 22:16:56
>>966
参考になったんだもん。
969デフォルトの名無しさん:2010/05/27(木) 23:01:38
ま、いくらPCとかプログラミングって騒いでも、数学や物理よりはどうせ簡単なんだろ??(笑)
970デフォルトの名無しさん:2010/05/27(木) 23:21:11
数学も最近はコンピュータを使って力ずくで解く。例えば4色問題。
971 ◆.AyXCIYSIKDi :2010/05/28(金) 07:25:50
ちょいはえーんですけども

次スレ立ち上げたんで…よろ

【超初心者】プログラミング質問スレ【基礎】pt.2
http://pc12.2ch.net/test/read.cgi/tech/1274998754/l50
972デフォルトの名無しさん:2010/05/28(金) 07:33:49
プログラムコード貼り付け禁止のスレにたどり着きました。
後よろしく。
973デフォルトの名無しさん:2010/05/28(金) 11:55:47
Visual Studio 2008でASP.NET(VB)によるWebアプリ開発をしてみようかと思ってるところです。
これ、PHPみたいなスクリプト言語かと思ってたんですが、ビルドするとソースがコンパイル?
されてDLLができてるような・・・。

もしかして、PHPとかVBScriptみたいにスクリプト言語そのままをリリースして、そいつが都度
解釈されて動いてる・・・のとは全然違う?って、そもそもそれが.netってことですか?
Javaみたいなもんと考えた方が良いんですかね。
974デフォルトの名無しさん:2010/05/28(金) 12:45:20
>>973
.net 自体は dll みたいなもので、アチコチから使えるようになってる。
PHP とかのスクリプト言語からも .net を使えるし、C++ みたいなコンパイル言語からも使える。

で、VBScript はスクリプト言語だけど、VB は、基本的にはスクリプト言語じゃない。
デフォルトで exe の作れる Java と考えると、あなたの疑問に関してだけ言えば、いいと思う。

dll を作ることになってるのは VB がどうとかじゃなくて asp という仕組み(?)の都合。
975デフォルトの名無しさん:2010/05/28(金) 22:15:08
たしてちょうど15になる7個の自然数の組合せをすべて列挙するとともに、
すべての組合せを表示し終えたら、それらの組合せが全部でいくつあるの
かも出力するプログラムを作成しなさい。

#include<stdio.h>

int main(void)
{
int i,num;

printf("自然数の組合せ\n");

num=0;

for(i=1;num<=14;i++){
num=num+i;
printf("%d\t",i);

}

printf("組み合わせは%d通り\n",num);

return 0;
}

現在ここまで作りましたが、プログラムがわかりません。
誰か教えてください。

言語はC++
環境はVisual です。
976デフォルトの名無しさん:2010/05/28(金) 22:37:56
1から7まで表示して終わりじゃないか?
i と 15-i の組み合わせ
977デフォルトの名無しさん:2010/05/28(金) 22:44:28
考える気がないとしか思えないよな
978デフォルトの名無しさん:2010/05/28(金) 22:48:13
7個の数字の合計が15になる組み合わせじゃないのか?

1+1+1+1+1+1+9 とか 2+2+2+2+2+2+3 とか
979デフォルトの名無しさん:2010/05/28(金) 22:49:05
>>978
そうです
980デフォルトの名無しさん:2010/05/28(金) 23:19:06
a,b,c, という変数がそれぞれあってそれぞれ左から 10 5 1 と数字がはいっています。
この3つを比較して一番小さい数字を取り出したい(この場合はc)のですがどうやってやればいいでしょうか。
981デフォルトの名無しさん:2010/05/28(金) 23:26:56
>>980
個数が分かってるんだから繰り返し比較したらいい。
最大二回比較したら結果は出る。
個数が定数でなくても、愚直に比較して n-1 回比較したら、正しい結果が出る。
982デフォルトの名無しさん:2010/05/29(土) 00:23:20
>>980
c を取り出したいのか、それとも 1 を取り出したいのか?
983デフォルトの名無しさん:2010/05/29(土) 01:36:25
C#言語仕様が和文で読みたいんだけれど2010EEにはインストールされてないんです。
バージョンproとかteamとか毎に書いてある内容に差別化されてるの?
誰かどっかにうpしてください。興味本位ですがお願いします。
984デフォルトの名無しさん:2010/05/29(土) 02:02:52
>>975ですが、プログラムを書き換えました。
#include<stdio.h>
int main(void)
{
int num,sum;
int a,b,c,d;

a=0;
b=0;
c=0;
d=0;
num=0;
sum=0;
if(n==0){
printf("%dC%d=0\n",num,sum);
return 0;
}
else if(m>=n || m==0){
printf("Error\n");
return 0;
}
a=n;
for(d=1;d <= m;++d){
b=b*a/d;
--a;
num=num+i;
printf("%d\t",i);
}
printf("%dC%d=%d\n",num,sum,b);
return 0;
}
985デフォルトの名無しさん:2010/05/29(土) 02:05:12
>>983
最新バージョンの和文は、まだ無いかも知れない。
2005EEにはあったような気がするが確かではない。
英文を気にしない人が多いから、確かな答えが返ってこないかもしれない。
図書館で本を読み漁った方がいいかも知れない。
昔のバージョンの書き方は、今でも(推奨されないとしても)使うことができる。
986デフォルトの名無しさん:2010/05/29(土) 02:32:01
>>983
VS2010のトライアルバージョンには入ってるぞ
うpしろっていうならアップローダのURLくらい出せよ
987デフォルトの名無しさん:2010/05/29(土) 09:10:25
>>975
http://gist.github.com/417905

C/C++宿題スレでいいのに、なぜここ?
988デフォルトの名無しさん:2010/05/29(土) 10:55:56
>>980 ちなみに言語はC/C++です。コメント
#include<stdio.h>
int main(void)
{
  int a=10, b=5, c=1, temp;

  if(a>b) temp = b; else temp = a; // aとcを比べる
  if(temp>c) temp = c; // aとcを比べた結果を、cと比べる
  printf("%d\n", temp);
  return 0;
}
989デフォルトの名無しさん:2010/05/29(土) 13:56:55
>>987

あるんですか!?
良かったら教えていただきたいのですが
990デフォルトの名無しさん:2010/05/29(土) 14:09:25
>>989ですが、検索したらありました。
ご迷惑をおかけしました。
991デフォルトの名無しさん:2010/05/29(土) 14:31:51
日経Software10年分のipad版が出たら買う
992デフォルトの名無しさん:2010/05/29(土) 22:55:00
ume
993デフォルトの名無しさん:2010/05/29(土) 23:29:28
ttp://www.ics.teikyo-u.ac.jp/wcasl2/usage/caslsim.html

CASLUの勉強を始めました。
このリンク先の(4)の「プログラムの機械語表現」の部分で分らないところがあります。
1010
2010
1100
・・・
はそれぞれの行のソースプログラムが機械語に変換されたものだとわかりました。

しかし、右隣の
0027
0028
0029
が何を表わしているのかが分りません。
すみませんが、どなたか教えてください。よろしくお願いします。
994デフォルトの名無しさん:2010/05/29(土) 23:48:02
>>993
変数のアドレスだと思う
995デフォルトの名無しさん:2010/05/30(日) 01:32:02
>>993
その下の図に「ラベル部の見方」があるよ
996デフォルトの名無しさん:2010/05/30(日) 03:27:56
997デフォルトの名無しさん:2010/05/30(日) 22:25:03
プログラミングってむずかしいけど、

人の命令には絶対服従、

コンピュータは自分勝手な事はしない、

入力、処理、画面表示しかしない

って事がだいじなんだってわかってから

かんたんになった!
998デフォルトの名無しさん:2010/05/31(月) 00:51:25
> 人の命令には絶対服従、
主語が抜けてるけど、It is だろう。
999デフォルトの名無しさん:2010/05/31(月) 00:58:20
>>997
> 入力、処理、画面表示しかしない
>
> って事がだいじなんだってわかってから

データの加工と複製しかしない。
1000デフォルトの名無しさん:2010/05/31(月) 02:03:06
EOF
10011001
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。