Compare commits
1 Commits
Author | SHA1 | Date |
---|---|---|
p9gzklfo6 | bedac8f01c | 3 weeks ago |
@ -0,0 +1,54 @@
|
|||||||
|
#include <iostream>
|
||||||
|
#include <stdlib.h>
|
||||||
|
#include <time.h>
|
||||||
|
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;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in new issue