Ir ao conteúdo
  • Cadastre-se

C Cartela de Bingo numeros aleatorios de 0 a 99


Sizonel

Posts recomendados

ola, preciso fazer um exercicio em c pra faculdade, mas nao sei como resolver o esquema de nao repetir os numeros.. 

aqui ta o exercicio: "Faca um programa para gerar automaticamente numeros de 0 a 99 de uma cartela de bingo. Sabendo
que cada cartela devera conter 5 linhas de 5 numeros, gere estes dados de modo a nao ter numeros
repetidos dentro das cartela. O programa deve exibir na tela a cartela gerada

 

e aqui ta meu codigo:
 

#include<stdio.h>

#include<stdlib.h>

#include<time.h>



int main()

{

    int bingo [5][5], a, b;

    int aleatorio;



    printf("\n\t---> VAMOS SORTEAR UMA CARTELA DE BINGO!! <---");

    printf("\n\n\n");



    for (= 0; a < 5; a++)

    {

        for (= 0; b < 5; b++)

        {

            srand( time(NULL));

            aleatorio = rand() % 99;

            

            bingo[a][b] = aleatorio;

        }

        

    }

   

    for (= 0; a < 5; a++)

    {

        for (= 0; b < 5; b++)

        {

            printf("\t| %d |", bingo[a][b]);

        }



    printf("\n");    

    }



    

return 0;

}

 

agardeço desde ja :)

  • Curtir 2
Link para o comentário
Compartilhar em outros sites

Meses atrás eu postei um programa que fazia exatamente isso, aqui nesse forum

 

veja um pedaço da saída
 

image.png.6add3742fdb8c967c8f51b461d6bc9e1.png

Esse programa cria 5 cartelas normais de bingo e simula uma rodada até alguém ganhar. Pode ser um exemplo útil. Lá no tópico tem um botão de download.

 

O sorteio

 

O clássico em C para isso é usar rand() que devolve um int e escrever rand() % 100 por exemplo para ter um número entre 0 e 99, e depois escrever rand() % 99 e ter um número entre 0 e 98 e ir diminuindo. No final vai escolher entre dois números apenas. E usar essa sequência para pegar os números e gerar as cartelas.

 

 

 

 

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

#include <stdio.h>
#include <conio.h>
#include <time.h>
#include <stdlib.h>
	int main() {
  int aleatorio[50]; 
  srand(time(NULL)); 
  int cont, j, achou, num;
  for (cont = 0; cont < 25; cont++) {
    do {
      achou = 0; 
      num = rand() % 99 +1;

      for (j = 0; j < 25; j++)
        if (num == aleatorio[j])
          achou = 1; 

    } while (achou);
    aleatorio[cont] = num;

  }
  for (j = 0; j < 25; j++){
  if (j%5==0)
		printf("\n");
		printf("[%d]",aleatorio[j]);
		}
}

 

  • Curtir 2
Link para o comentário
Compartilhar em outros sites

38 minutos atrás, Sizonel disse:

omg, meu cerebro até trava olhando o monstrinho q voce criou hahaha

esse que fez é bastante complexo e completo..só que preciso de um bem simples mesmo só pra aleatorizar 1 cartela

 

Leia o programa e veja a parte onde faz o que você precisa. E rode em sua máquina. Pode te dar alguma ideia.

 

É um programa divertido. Ele prepara as cartelas e coloca na tela e o painel faz os sorteios. Os números que saem nas cartelas vão ficando em verde e segue até alguém ganhar. Como são só 5 cartelas em geral só vai terminar perto de saírem todos os números mesmo

Link para o comentário
Compartilhar em outros sites

@Sizonel No enunciado que postou não diz que precisa usar matriz, foi o professor que especificou?

 

Um método seria gerar um vetor com os 100 números, usar um algoritmo de embaralhamento (fisher-yates) para embaralhar os números no vetor, e aí imprime os 25 primeiros números do vetor no formato 5 x 5.

 

https://pt.wikipedia.org/wiki/Embaralhamento

https://en.wikipedia.org/wiki/Fisher–Yates_shuffle

 

 

Dá pra fazer a mesma coisa usando uma matriz 10x10 (e só imprimir 5x5 dos campos da matriz no fim do programa), mas é desnecessário, é melhor usar um vetor.

  • Curtir 1
  • Obrigado 1
Link para o comentário
Compartilhar em outros sites

  • 5 meses depois...

@arfneto eu não consegui achar o link para download do seu programa, estou com um trabalho que precisa de algo parecido e estou com problemas ao gerar as tabelas...as vezes os valores vem como lixo de memoria ... queria ver o seu pra ter um comparativo... se for possivel me disponibilizar o download. Desde já agradeço...

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!