C++ 计算Conway'的相邻单元;在C++;

C++ 计算Conway'的相邻单元;在C++;,c++,conways-game-of-life,C++,Conways Game Of Life,我正试图为康威的《生活游戏》写一个计数邻居的方法。如果一个死细胞与2或3个活细胞相邻,它应该是活的。但是,我的代码没有正确计算所有邻居的数量。如果我给出输入坐标(10,10),(10,11),(10,12),它将产生 *** 该程序将下一代打印为 * * 坐标位于(10,11)和(11,11)。然而,在(9,11)处也应该有一个点。我知道问题发生在这个函数中,对于点(9,11),函数没有计算3个邻居 int Life::neighbor_count (int row,

我正试图为康威的《生活游戏》写一个计数邻居的方法。如果一个死细胞与2或3个活细胞相邻,它应该是活的。但是,我的代码没有正确计算所有邻居的数量。如果我给出输入坐标(10,10),(10,11),(10,12),它将产生

   ***
该程序将下一代打印为

    *
    *
坐标位于(10,11)和(11,11)。然而,在(9,11)处也应该有一个点。我知道问题发生在这个函数中,对于点(9,11),函数没有计算3个邻居

int Life::neighbor_count (int row, int col)
{
  int i, j;
  int count=0;
  for(i=row-1; i<row+1; i++){
    for (j=col-1; j<=col+1; j++){
      count +=grid[i][j];//increase the count is neighbor is alive
    }
  }
  count -=grid [row][col];//reduce count, since cell is not its own neighbor
  return count;
}
int-Life::邻居计数(int行,int列)
{
int i,j;
整数计数=0;

对于(i=row-1;i正如@AlexD所指出的,
i正如@AlexD所指出的,
i如何更新网格?如果我没记错,你必须在内存中有两个网格,一个是旧网格,一个是更新网格,这样你就可以计算旧邻居,而不是已经更新的邻居。你更新网格了吗?如果我没记错,你必须在内存中有两个网格内存,旧的和更新的,这样你可以计算旧的邻居,而不是已经更新的邻居