sudoku: add dump functions
This commit is contained in:
parent
b7a9b706e0
commit
ddb7dad60c
34
src/sudoku.c
34
src/sudoku.c
|
@ -70,3 +70,37 @@ bool parse_line_str(struct sudoku *grid, const char *input) {
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool print_grid(const struct sudoku *grid, FILE *output) {
|
||||||
|
if (!output || !grid)
|
||||||
|
return false;
|
||||||
|
|
||||||
|
for (size_t i = 0; i < 9; ++i) {
|
||||||
|
const int *line = grid->grid[i];
|
||||||
|
|
||||||
|
if (fprintf(output, INPUT_PATTERN, line[0], line[1], line[2], line[3],
|
||||||
|
line[4], line[5], line[6], line[7], line[8])
|
||||||
|
< 18)
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool print_line(const struct sudoku *grid, FILE *output) {
|
||||||
|
if (!output || !grid)
|
||||||
|
return false;
|
||||||
|
|
||||||
|
for (size_t i = 0; i < 9; ++i) {
|
||||||
|
for (size_t j = 0; j < 9; ++j) {
|
||||||
|
if (fputc(grid->grid[i][j] ? '0' + grid->grid[i][j] : '.', output)
|
||||||
|
== EOF)
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (fputc('\n', output) == EOF)
|
||||||
|
return false;
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
|
@ -13,4 +13,7 @@ bool parse_grid_str(struct sudoku *grid, const char *input);
|
||||||
bool parse_line_file(struct sudoku *grid, FILE *input);
|
bool parse_line_file(struct sudoku *grid, FILE *input);
|
||||||
bool parse_line_str(struct sudoku *grid, const char *input);
|
bool parse_line_str(struct sudoku *grid, const char *input);
|
||||||
|
|
||||||
|
bool print_grid(const struct sudoku *grid, FILE *output);
|
||||||
|
bool print_line(const struct sudoku *grid, FILE *output);
|
||||||
|
|
||||||
#endif /* !SUDOKU_H */
|
#endif /* !SUDOKU_H */
|
||||||
|
|
Loading…
Reference in a new issue