parent
20c10a0858
commit
6b8130f2a7
@ -0,0 +1,44 @@
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <time.h>
|
||||
#define SIZE 9
|
||||
void printMatrix(char matrix[SIZE][SIZE]) {
|
||||
for (int i = 0; i < SIZE; i++) {
|
||||
for (int j = 0; j < SIZE; j++) {
|
||||
printf("%c ", matrix[i][j]);
|
||||
}
|
||||
printf("\n");
|
||||
}
|
||||
}
|
||||
void shuffle(int *arr, int size) {
|
||||
for (int i = size - 1; i > 0; i--) {
|
||||
int j = rand() % (i + 1);
|
||||
int temp = arr[i];
|
||||
arr[i] = arr[j];
|
||||
arr[j] = temp;
|
||||
}
|
||||
}
|
||||
void generateMatrix(char matrix[SIZE][SIZE]) {
|
||||
int nums[9] = {1, 2, 3, 4, 5, 6, 7, 8, 9};
|
||||
for (int block = 0; block < 3; block++) {
|
||||
shuffle(nums, 9);
|
||||
for (int i = 0; i < 3; i++) {
|
||||
int row = block * 3 + i;
|
||||
for (int j = 0; j < SIZE; j++) {
|
||||
matrix[row][j] = '.';
|
||||
}
|
||||
int positions[SIZE] = {0, 1, 2, 3, 4, 5, 6, 7, 8};
|
||||
shuffle(positions, SIZE);
|
||||
for (int k = 0; k < 3; k++) {
|
||||
matrix[row][positions[k]] = nums[i * 3 + k] + '0';
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
int main() {
|
||||
srand(time(NULL));
|
||||
char matrix[SIZE][SIZE];
|
||||
generateMatrix(matrix);
|
||||
printMatrix(matrix);
|
||||
return 0;
|
||||
}
|
Loading…
Reference in new issue