基本的に、乱数を生成してサイコロのペアをシミュレートするプログラムを作成する必要があります。このプログラムは、複数のファイルで構成する必要があります。メイン関数は 1 つのファイルに、他の関数は 2 番目のソース ファイルに、それらのプロトタイプはヘッダー ファイルに配置する必要があります。最初に、1 から 6 までのランダムな値を返す短い関数を作成して、1 つの 6 面サイコロの転がりをシミュレートします。次に、この関数を 2 回呼び出して、1 対のサイコロを振ったふりをする関数を作成します。私のプログラムは、何回ロールを作成する必要があるかをユーザーに尋ねることから始まります。次に、値 2、3、4、5、6、7、8、9、10、11、12 (各数字はサイコロのペアの合計) が配列で発生します。
2 3 4 5 6 7 8 9 10 11 12
* * * * * * * * * * *
* * * * * * * * * * *
* * * * * * * * * * *
* * * * * * * * * * *
* * * * * * * * *
次に、乱数発生器の動作を確認するために、丸めた平均値を計算する関数を作成します。これを理想的な平均 7 と比較してください。また、プログラムによって作成された各ロールのカウント、ロールの総数が与えられた上記の周波数に基づく理想的なカウント、およびこれらの値の差を示す小さな表を印刷してください。列。これはこれまでのところ私の不完全なコードです:「コンパイラビジュアルスタジオ2010」
int rolling(){ //Function that returns a random value between 1 and 6
rand(unsigned(time(NULL)));
int dice = 1 + (rand() %6);
return dice;
}
int roll_dice(int num1,int num2){ //it calls 'rolling function' twice
int result1,result2;
num1 = rolling();
num2 = rolling();
result1 = num1;
result2 = num2;
return result1,result2;
}
int main(void){
int times,i,sum,n1,n2;
int c1,c2,c3,c4,c5,c6,c7,c8,c9,c10,c11;//counters for each sum
printf("Please enter how many times you want to roll the dice.\n")
scanf_s("%i",×);
カウンターを使用して各合計をカウントし、その数 (カウント) を配列に格納するふりをします。ループ (for) といくつかの条件文 (if) が必要なのはわかっていますが、主な問題は、roll_dice から値を取得して n1 と n2 に格納することです。