我希望看到两个滚动骰子之和出现的次数。我正在编写以下代码以向我展示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]<<" ";
}
但代码正在向我返回奇怪的结果。非常感谢帮助纠正它。
答案 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));
否则,垃圾值会影响结果。