diff options
Diffstat (limited to 'src/sudoku.cc')
-rw-r--r-- | src/sudoku.cc | 32 |
1 files changed, 16 insertions, 16 deletions
diff --git a/src/sudoku.cc b/src/sudoku.cc index 13369fe..2725b02 100644 --- a/src/sudoku.cc +++ b/src/sudoku.cc @@ -3,18 +3,18 @@ Sudoku::Sudoku() { - for (int row = 0; row < 9; row++) { - for (int column = 0; column < 9; column++) { - sudoku_value[row][column] = 0; - } - } +} + +void Sudoku::set_value(int row, int column, int value) +{ + sudoku_cell[row][column].set_value(value); } int Sudoku::solve_step(int pos_row, int pos_column) { // verify if the cell has already been solved - if ((sudoku_value[pos_row][pos_column] > 0 ) && (sudoku_value[pos_row][pos_column] <= 9)) { - return sudoku_value[pos_row][pos_column]; + if ((value(pos_row,pos_column) > 0 ) && (value(pos_row,pos_column) <= 9)) { + return value(pos_row,pos_column); } bool possible_solution[9]; @@ -26,18 +26,18 @@ int Sudoku::solve_step(int pos_row, int pos_column) // eliminate row for (int column = 0; column < 9; column++) { if (column != pos_column) { - int value = sudoku_value[pos_row][column]; - if ((value > 0) && (value <= 9)) { - possible_solution[value - 1] = false; + const int v = value(pos_row,column); + if ((v > 0) && (v <= 9)) { + possible_solution[v - 1] = false; } } } // eliminate column for (int row = 0; row < 9; row++) { if (row != pos_row) { - int value = sudoku_value[row][pos_column]; - if ((value > 0) && (value <= 9)) { - possible_solution[value - 1] = false; + const int v = value(row,pos_column); + if ((v > 0) && (v <= 9)) { + possible_solution[v - 1] = false; } } @@ -49,9 +49,9 @@ int Sudoku::solve_step(int pos_row, int pos_column) for (int row = grid_row; row < grid_row + 3; row++) { for (int column = grid_column; column < grid_column + 3; column ++) { if ((column != pos_column) && (row != pos_row)) { - int value = sudoku_value[row][column]; - if ((value > 0) && (value <= 9)) { - possible_solution[value - 1] = false; + const int v = value(row, column); + if ((v > 0) && (v <= 9)) { + possible_solution[v - 1] = false; } } |