康威生命游戏,计数邻居[关闭](Conway's Game of Life, countin

2019-08-05 17:15发布

我在我的代码的某个地方有一个错误,我想我进入一个无限循环。 基本上,我得到一个矩阵,两个指标,I,J,我需要周围算多少邻居[i] [j]具有值1或2。

这是我的代码:

int number_of_living_neighbors(matrix mat,int i, int j, int n,int m)
{
    int counter=0,row_index=0,column_index=0;
    for(row_index=i-1;row_index<=i+1;row_index++)
    {
        for(column_index=j-1;column_index=j+1;column_index++)
        {
            if((row_index>=0)&&(row_index<n)&&(column_index>=0)&&(column_index<m))
            {
                if((mat[row_index][column_index]==1)||(mat[row_index][column_index]==2))
                    counter++;
                if((row_index==i)&&(column_index==j)&&(mat[i][j]==1))
                    counter--;
            }
        }
    }
    printf("The number of living neighbors is %d", counter);
    return counter;
}

它不显示任何信息。 垫是矩阵我得到,I,J是指针,n是行数,m是列数。

Answer 1:

for(column_index = j-1 ; column_index = j+1; column_index++)

你的条件包含一个任务,而不是一个比较。 你可能想用<=代替=

for(column_index = j-1 ; column_index <= j+1; column_index++)


文章来源: Conway's Game of Life, counting neighbors [closed]