Ir para conteúdo
Fórum Script Brasil

llmls__

Membros
  • Total de itens

    1
  • Registro em

  • Última visita

Sobre llmls__

llmls__'s Achievements

0

Reputação

  1. llmls__

    Bingo

    Preciso criar uma função para verificar se há números iguais numa mesma cartela(ou seja, cada linha), se houver, deve ser sorteada uma nova matriz. E preciso que a função verificar mostre a cartela vencedora (ou toda a linha, ou só a posição da cartela) #include <stdio.h> #include <stdlib.h> #include <time.h> #include <locale.h> #include <windows.h> #define LI 3 #define COLU 3 void cartelas(int num[LI][COLU], int copia[LI][COLU]) { // Preencher cartelas e fazer cópia for (int i = 0; i < LI; i++) { for (int j = 0; j < COLU; j++) { num[i][j] = 1 + ( rand() % 6 ); } } for(int i = 0; i< LI; i++){ printf("\n"); for(int j = 0; j< COLU; j++){ printf("|%d| ", num[i][j]); } } for (int i = 0; i < LI; i++) { for (int j = 0; j < COLU; j++) { copia[i][j] = num[i][j]; } } } void verificar(int vetor[LI]) { int c = 0; for (int i = 0; i < LI; i++) { if (vetor[i] == -1) { c++; } } if (c == COLU) { printf("A cartela venceu!\n"); } } int comparar(int num[LI][COLU], int copia[LI][COLU], int sort) { int c = 0; // Variável para contar as marcações // Comparar com o número sorteado for (int i = 0; i < LI; i++) { for (int j = 0; j < COLU; j++) { if (copia[i][j] == sort) { copia[i][j] = -1; c++; // Incrementar a contagem verificar(copia[i]); } } } return c; // Retornar a contagem } void sortear(int num[LI][COLU], int copia[LI][COLU]) { int c = 0; // Inicializar a contagem while (c < COLU) { // Sortear o número int sort = 1 + ( rand() % 6 ); printf("\nNúmero sorteado: %d\n", sort); Sleep(1000); // Aguardar 1 segundo c = comparar(num, copia, sort); } } int menu() { // Menu int opcao; printf("\n 1 - Jogar\n 2 - Sortear\n 3 - Sair\n"); scanf(" %d", &opcao); return opcao; } void instrucoes() { int escolha; int num[LI][COLU], linha, cartela[LI][COLU]; printf("\nINSTRUÇÕES\n"); printf("\nSerão geradas aleatoriamente 10 cartelas com 15 números e uma sequência de números de 15 caracteres correspondente à cartela vencedora."); printf("\nCaso nenhuma das 10 cartelas seja sorteada, será efetuado um novo sorteio até que haja uma vencedora.\n"); system("pause"); system("cls"); } int main() { setlocale(LC_ALL, "PORTUGUESE"); int sort, num[LI][COLU], copia[LI][COLU], opcao, cartela[LI][COLU]; srand(time(NULL)); printf("\nSeja muito bem-vindo(a) ao nosso bingo!"); do { opcao = menu(); printf("%d", opcao); switch (opcao) { case 1: instrucoes(); cartelas(num, copia); break; case 2: sortear(num, copia); break; case 3: printf("Muito obrigado por jogar!\n"); break; default: printf("Opção inválida\n"); } } while (opcao != 3); return 0; }
×
×
  • Criar Novo...