Поскольку в матрице вокруг элемента имеется только 8 элементов, вы можете использовать массив для хранения различных значений индекса. Например,
int iarr[8] = {-1,-1,-1,0,0,+1,+1,+1};
int jarr[8] = {-1,0,+1,-1,+1,-1,0,+1};
for(int i = 0 ; i < 8 ; i++)
{
if(arr[x-iarr[i]][y-jarr[i]] == 1)
{
//statements
}
}
/* x and y are the position of elements from where you want to reach out its neighbour */
, так как оба массива содержат только 8 значений, пробел может не быть проблемой.