计算两个骰子总和出现的次数

时间:2015-02-07 15:26:59

标签: c++ arrays random

我希望看到两个滚动骰子之和出现的次数。我正在编写以下代码以向我展示myArray的总和:

#include <iostream>
#include <cstdlib>
#include <ctime>

using namespace std;

int main()
{
    srand (time(0));

    int myArray[12];

    for (int i =1; i < 10; i++)
    {
    int die_1 = rand() % 6 + 1;
    int die_2 = rand() % 6 + 1;

    myArray[(die_1 + die_2 - 2)]++;


    cout<<endl<<"die_1 "<<die_1<<" die_2 "<<die_2<<" the sum: "<<die_1+die_2;
    }

    for (int i = 0; i < 12; i++)
        cout<<endl<<myArray[i]<<" ";
}

但代码正在向我返回奇怪的结果。非常感谢帮助纠正它。

2 个答案:

答案 0 :(得分:4)

你忘了初始化你的数组(10)因为结果是[2-12]所以10个答案:

int myArray[10] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0};

PS:看到你的结果我觉得它更像是

for (int i = 0; i < 11; i++)
    cout << "for res[" << i + 2 << "]:\t" << myArray[i] << endl;

答案 1 :(得分:1)

使用0

初始化数组
memset(myArray, 0, sizeof(myArray));

否则,垃圾值会影响结果。