for (size_t i = 0; i < n * m; ++i) { for (size_t k = 0; k < 8; k++) { int next_i = x1 + x_move[k]; int next_j = y1 + y_move[k]; if (isInside(next_i, next_j, n, m)) matrix[i][next_i*m + next_j] = 1; } }
2D 1D (0, 0) 0 (0, 1) 1 (0, 2) 2 ... (0, 7) 7 (1, 0) 8 (1, 1) 9 ... (7, 7) 63
2D -> 1D: f(x, y) = x*m + y 1D -> 2D: f~(x) = (x/m, x%m)