2012-11-29 88 views
2

试图让使用一维和二维数组用于CS分配的分配的骰子滚子和遇到了一个问题INT *为int无效的转换

什么我到目前为止是这样的(是的,我知道布尔结构是坏的):

#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

+4

d [4] = g [3] ** {0} ** + g [0] [3] + g [1] [2] + g [2] [1] –

+1

当你指的是方括号时,请小心那些花括号;-) –

回答

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];

+1

谢谢你,现在我觉得自己像个白痴:P – CeaseofMorality