Как посчитать количество соседей по матрице?

Итак, я играю в жизнь в C и не могу понять, как сосчитать соседей по матрице.

Вот мой текущий код

http://pastebin.com/8fTdbpfs

Извините, я думаю, что на пастбине это выглядит лучше.

0

Решение

Для ячейки на месте (i,j)то есть я строка, столбец 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] */
}
0

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector