Игра жизни Конвея, считая соседей [закрыто]

У меня есть ошибка где-то в моем коде, я думаю, что я вхожу в бесконечный цикл. В основном я получаю матрицу и два индекса, 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;
}

он ничего не печатает. mat - это матрица, которую я получаю, i, j - указатели, n - количество строк, m - количество столбцов.

Ответы на вопрос(1)

Ваш ответ на вопрос