int tabuleiro[TAMANHO_TABULEIRO][TAMANHO_TABULEIRO]; int tabuleiroExibido[TAMANHO_TABULEIRO][TAMANHO_TABULEIRO];
// Função para gerar números aleatórios de 0 a 9
int gerarNumeroAleatorio() { return rand() % 10; }
// Função para inicializar o tabuleiro com pares de números aleatórios
void inicializarTabuleiro() { int i, j, k; int contadorConjuntos[TOTAL_CONJUNTOS] = {0};
srand(time(NULL));
for (i = 0; i < TAMANHO_TABULEIRO; i++) {
for (j = 0; j < TAMANHO_TABULEIRO; j++) {
do {
k = gerarNumeroAleatorio();
} while (contadorConjuntos[k] >= 2);
tabuleiro[i][j] = k;
contadorConjuntos[k]++;
}
}
}
// Função que verifica pares de números
void verificarTabuleiro() { int i, j, k; int numerosRepetidos[TOTAL_CONJUNTOS] = {0};
for (i = 0; i < TAMANHO_TABULEIRO; i++) {
for (j = 0; j < TAMANHO_TABULEIRO; j++) {
int elementoAtual = tabuleiro[i][j];
numerosRepetidos[elementoAtual]++;
}
}
int naoTemNumeroRepetido = 1;
for (k = 0; k < TOTAL_CONJUNTOS; k++) {
if (numerosRepetidos[k] < 2) {
naoTemNumeroRepetido = 0;
break;
}
}
if (naoTemNumeroRepetido == 0) {
inicializarTabuleiro();
}
}
// Função para exibir o tabuleiro
void exibirTabuleiro() { int i, j;
printf("Tabuleiro:\n\n");
for (i = 0; i < TAMANHO_TABULEIRO; i++) {
for (j = 0; j < TAMANHO_TABULEIRO; j++) {
if (tabuleiroExibido[i][j]) {
printf("[%d] ", tabuleiro[i][j]);
} else {
printf("[?] ");
}
}
printf("\n");
}
}
Esse é meu codigo, os numeros gerados são de 0 a 9, e a tabela tem 16 elementos, além disso cada numero deve ter um par na matriz, então quando eu estiver gerando os numeros aleatorios e colocando nas casas pode haver uma casa que não tenha um numero para formar um par, sendo assim criei a função que verifica pares de numeros, mas não sei como testar de forma efetiva se ela funciona, alguem pode me dizer se esta correta um me esclarecer como testar isso?