如何计算矩阵中的邻居数

How to count number of neighbors in a matrix?

本文关键字:邻居 何计算 计算      更新时间:2023-10-16

好吧,所以我正在用 C 制作生命游戏,我不知道如何从矩阵中计算邻居。

这是我当前的代码

http://pastebin.com/8fTdbpfs

对不起,我认为它在糊状物上看起来更好。

对于位置 (i,j) 的单元格,即 i 行、j 列,其所有八个邻居的坐标为

(i-1,j-1) | (i-1,j) | (i-1,j+1)
----------+---------+----------
(i,  j-1) | (i  ,j) | (i  ,j+1)
----------+---------+----------
(i+1,j-1) | (i+1,j) | (i+1,j+1)

在二维数组array[row][col]中,您可以通过array[i][j]访问它们。当然,在尝试访问该坐标处的单元格之前,您需要确保每个坐标都有效,您可以使用以下条件进行此检查:

// for coordinate (i, j) in array[row][col]
if ((0 <= i) && (i < row) && (0 <= j) && (j < col)) {
    /* access array[i][j] */
}