From: Timo Kokkonen Date: Sat, 20 Jun 2009 18:36:03 +0000 (+0300) Subject: generator: Print all found sudokus in oneline format X-Git-Url: http://git.itanic.dy.fi/?p=sudoku;a=commitdiff_plain;h=3e9e4dc2aaf4cb641c793c91af704f8bc723607b generator: Print all found sudokus in oneline format --- diff --git a/sudoku.cpp b/sudoku.cpp index bd838df..167a44c 100644 --- a/sudoku.cpp +++ b/sudoku.cpp @@ -122,7 +122,7 @@ int sudoku::str_to_row(const int row, const std::string &str) void sudoku::print(void) { - int x,y; + int x, y; printf("+-------+------+--------+\n"); for (y = 0; y < 9; y++) { @@ -138,6 +138,19 @@ void sudoku::print(void) } } +void sudoku::print_compact(void) +{ + int x, y, i = 0; + char str[82]; + str[81] = 0; + + for (y = 0; y < 9; y++) + for (x = 0; x < 9; x++, i++) + str[i] = table[x][y] != EMPTY ? table[x][y] : '.'; + + printf("%s\n", str); +} + void sudoku::clone_to(sudoku &to) { sudoku clone; @@ -533,8 +546,9 @@ sudoku sudoku::remove_randomly(int min_guesses, int depth) done = 1; #pragma omp flush(done) } else { - printf("%2d, got only %3d guesses\n", depth, + printf("%2d, got only %3d guesses ", depth, tmp.guesses); + tmp.print_compact(); } if (!done) { diff --git a/sudoku.h b/sudoku.h index 6ba1136..774a5f4 100644 --- a/sudoku.h +++ b/sudoku.h @@ -12,6 +12,7 @@ public: ~sudoku(); void print(void); + void print_compact(void); int set(const int col, const int row, const char num); char get(const int col, const int row);