尝试使用1d和2d阵列为分配制作骰子,以便为CS分配并遇到问题
到目前为止我所拥有的是(是的,我知道布尔结构很糟糕):
#include <iostream>
#include <ctime>
#include <cstdlib>
#include <iomanip>
using namespace std;
int main()
{
int g[5][5] = {{}};
int d[11] = {};
int die1;
int die2;
srand(time(0));
for ( int roll = 1; roll <= 36000; ++roll )
{
die1 = 1 + rand() % 6;
die2 = 1 + rand() % 6;
if (die1 == 1 && (die2 == 1))
g[0][0] += 1;
if (die1 == 1 && die2 == 2)
g[0][1] += 1;
if (die1 == 1 && die2 == 3)
g[0][2] += 1;
if (die1 == 1 && die2 == 4)
g[0][3] += 1;
if (die1 == 1 && die2 == 5)
g[0][4] += 1;
if (die1 == 1 && die2 == 6)
g[0][5] += 1;
if (die1 == 2 && die2 == 1)
g[1][0] += 1;
if (die1 == 2 && die2 == 2)
g[1][1] += 1;
if (die1 == 2 && die2 == 3)
g[1][2] += 1;
if (die1 == 2 && die2 == 4)
g[1][3] += 1;
if (die1 == 2 && die2 == 5)
g[1][4] += 1;
if (die1 == 2 && die2 == 6)
g[1][5] += 1;
if (die1 == 3 && die2 == 1)
g[2][0] += 1;
if (die1 == 3 && die2 == 2)
g[2][1] += 1;
if (die1 == 3 && die2 == 3)
g[2][2] += 1;
if (die1 == 3 && die2 == 4)
g[2][3] += 1;
if (die1 == 3 && die2 == 5)
g[2][4] += 1;
if (die1 == 3 && die2 == 6)
g[2][5] += 1;
if (die1 == 4 && die2 == 1)
g[3][0] += 1;
if (die1 == 4 && die2 == 2)
g[3][1] += 1;
if (die1 == 4 && die2 == 3)
g[3][2] += 1;
if (die1 == 4 && die2 == 4)
g[3][3] += 1;
if (die1 == 4 && die2 == 5)
g[3][4] += 1;
if (die1 == 4 && die2 == 6)
g[3][5] += 1;
if (die1 == 5 && die2 == 1)
g[4][0] += 1;
if (die1 == 5 && die2 == 2)
g[4][1] += 1;
if (die1 == 5 && die2 == 3)
g[4][2] += 1;
if (die1 == 5 && die2 == 4)
g[4][3] += 1;
if (die1 == 5 && die2 == 5)
g[4][4] += 1;
if (die1 == 5 && die2 == 6)
g[4][5] += 1;
if (die1 == 6 && die2 == 1)
g[5][0] += 1;
if (die1 == 6 && die2 == 2)
g[5][1] += 1;
if (die1 == 6 && die2 == 3)
g[5][2] += 1;
if (die1 == 6 && die2 == 4)
g[5][3] += 1;
if (die1 == 6 && die2 == 5)
g[5][4] += 1;
if (die1 == 6 && die2 == 6)
g[5][5] += 1;
}
d[1] = g[0][0];
d[2] = g[1][0] + g[0][1];
d[3] = g[2][0] + g[0][2] + g[1][1];
d[4] = g[3]{0} + g[0][3] + g[1][2] + g[2][1];
d[5] = g[4][0] + g[0][4] + g[2][2] + g[3][1] + g[1][3];
d[6] = g[5][0] + g[0][5] + g[4][1] + g[1][4] + g[3][2] + g[2][3];
试图用gnu进行编译,并在它开始的地方得到了这个错误d [4] = ...在底部。
error: invalid conversion from int* to int [-fpermissive]
任何帮助将不胜感激,我真的需要完成这项任务...... Thx
答案 0 :(得分:4)
这可能是拼写错误但是下一行中的括号是否正确(为清晰起见加粗)?
d [4] = g [3] {0} + g [0] [3] + g [1] [2] + g [2] [1];
该行应该是吗?
d [4] = g [3] [0] + g [0] [3] + g [1] [2] + g [2] [1];