#include #include #include int main() { int board[9][9] = {0}; srand(time(NULL)); void generate(int board[9][9]); void format(int board[9][9]); generate(board); format(board); } void random(int arr[9]) { for (int i = 0; i < 9; i++) { arr[i] = rand() % 9 + 1; Re: for (int j = 0; j < i; j++) { while (arr[i] == arr[j]) { arr[i] = rand() % 9 + 1; goto Re; } } } } void format(int board[9][9]) { for (int i = 0; i < 9; i++) { for (int j = 0; j < 9; j++) { printf("%d ", board[i][j]); if ((j + 1) % 3 == 0 && j != 8) { printf("| "); } } if ((i + 1) % 3 == 0 && i != 8) { printf("\n---------------------\n"); } else { printf("\n"); } } } void generate(int board[9][9]) { int rowplace[9] = { 0 }, rownum[9] = { 0 }; for (int h = 0; h < 9; h += 3) { random(rownum); for (int i = h, k = -1; i < h + 3; i++) { random(rowplace); for (int j = 0; j < 9; j++) { if (rowplace[j] < 4) { k++; board[i][j] = rownum[k]; } else board[i][j] = 0; } } } }