Question 1. Dice rolling: Write a program using c++ that simulates the rolling o
ID: 3749523 • Letter: Q
Question
Question 1. Dice rolling:
Write a program using c++ that simulates the rolling of two dice. The sum of the two values should then be calculated. [Note: Each die can show an integer value from 1 to 6, so the sum of the two values will vary from 2 to 12, with 7 being the most frequent sum and 2 and 12 being the least frequent sums.] The following table shows the 36 possible combinations of the two dice. Your program should roll the two dice 36,000,000 times. Use a one-dimensional array to tally the numbers of times each possible sum appears. Print the results in a tabular format. Also determine if the totals are reasonable (i.e., there are six ways to roll a 7, so approximately one-sixth of all the rolls should be 7).
1
2
3
4
5
6
1
2
3
4
5
6
7
2
3
4
5
6
7
8
3
4
5
6
7
8
9
4
5
6
7
8
9
10
5
6
7
8
9
10
11
6
7
8
9
10
11
12
Question 2) For each of the following, write C++ statements that perform the specified task. Assume that unsigned integers are stored in four bytes and that the starting address of the built-in array is at location 1002500 in memory.
a. Declare an unsigned int built-in array values with five elements initialized to the even integers from 2 to 10. Assume that the constant size has been defined as 5.
b. Declare a pointer vPtr that points to an object of type unsigned int.
c. Use a for statement to display the elements of built-in array values using array subscript notation.
d. Write two separate statements that assign the starting address of built-in array values to pointer variable vPtr.
e. Use a for statement to display the elements of built-in array values using pointer/offset notation.
f. Use a for statement to display the elements of built-in array values using pointer/offset notation with the built-in array’s name as the pointer.
g. Use a for statement to display the elements of built-in array values by subscripting the pointer to the built-in array.
h. Refer to the fifth element of values using array subscript notation, pointer/offset notation with the built-in array’s name as the pointer, pointer subscript notation and pointer/offset notation.
i. What address is referenced by vPtr + 3? What value is stored at that location?
j. Assuming that vPtr points to values[4], what address is referenced by vPtr -= 4? What value is stored at that location?
1
2
3
4
5
6
1
2
3
4
5
6
7
2
3
4
5
6
7
8
3
4
5
6
7
8
9
4
5
6
7
8
9
10
5
6
7
8
9
10
11
6
7
8
9
10
11
12
Explanation / Answer
Answer:
Code:
#include <bits/stdc++.h>
using namespace std;
int main()
{
const int arraysize = 13;
int counter[13], sum=0;
// init counter
for(int i=0; i<13; i++)
counter[i] = 0;
int die1;
int die2;
for ( int roll1 = 0; roll1 <=36000000; roll1++ ) {
die1 = 1 + rand() % 6;
die2 = 1 + rand() % 6;
counter[die1+die2]++;
}
cout<<"sum of Faces"<<setw(13)<<"Frequency"<<endl;
for(int face=2; face<arraysize;face++)
{
cout<<setw(7)<<face<<setw(13)<<counter[face]<<endl;
sum += counter[face];
}
cout << "sum: " << sum;
return 0;
}
Related Questions
drjack9650@gmail.com
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.