首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >C++中康威生命游戏中相邻细胞的计数

C++中康威生命游戏中相邻细胞的计数
EN

Stack Overflow用户
提问于 2015-09-16 21:18:43
回答 1查看 2.9K关注 0票数 1

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

代码语言:javascript
复制
   ***

该程序将把下一代打印为

代码语言:javascript
复制
    *
    *

坐标在(10,11)和(11,11)处。然而,也应该有一个点(9,11)。我知道这个问题发生在这个函数中,对于点(9,11),函数不包括3个邻域。

代码语言:javascript
复制
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;
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-09-17 11:33:08

正如@AlexD所指出的,i<row+1应该是i<=row+1,这将解释您的答案。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32618909

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档