为什么我得到这个输出?

时间:2011-11-16 04:30:40

标签: c++ debugging

好吧,所以我用C ++编写了Conways Game of Life,到目前为止,我只创建了允许用户创建单元格的规则,如果它有3个邻居。

以下是当前代码:http://tinypaste.com/f59b4463

当我启动程序时,我输入了坐标,以便我在下面的照片中显示游戏板,输出不是我预期的,它应该使得单元格2,1将是活着,但在输出中它仍然死了。我不确定为什么它不起作用。有什么帮助吗?

输入&输出:http://i.imgur.com/1Mvhi.png

2 个答案:

答案 0 :(得分:2)

要解决的几件事情虽然这不是一个答案,但对于评论而言,它太大了。请修复这些然后我会回复你...

gameboard()中,请排列代码,使其包含两个for循环,而不是所有cout。例如:

int i, j;
for (i = j = 0; i < 10; i++) {
    for (; j < 10; j++) {
        cout << world[i][j];
    }
}

它更简洁。

其次,在cells()中,在第二个for循环中,您可以使用另一个嵌套for循环。

第三,我会避免在ALL CAPS中命名正常变量,因为它通常是为预处理器#define保留的。

K,享受清理:)

答案 1 :(得分:1)

好的。这是一个算法问题。当你调用calculate时,它会创建额外的单元格,因为它不是一代。它是两个和三个的混合 - 它作用于你刚刚创建的细胞。得到我在说什么?我在GMail上解释过这个。