Jump to content
  • 0
daniele_c

Ajuda com algoritmos

Question

O professor em sala de aula, solicitou o seguinte trabalho de algoritmos 1:

Escreva um algoritmo que utilize a biblioteca Util e gere uma cartela de BINGO com números aleatórios. Por exemplo, na coluna B temos números de 1-15, já na coluna I temos números de 16-30, etc. conforme imagem. No fim o algoritmo deve imprimir a cartela de bingo.

Eu consegui gerar a tabela normalmente, mas eu não faço ideia de como não fazer com que em cada coluna, os números não se repitam. 

Meu andamento abaixo:

 

programa
{
    inclua biblioteca Util --> u
    
    funcao inicio()
    {
        inteiro matriz[5][5], coluna, linha
        const inteiro tamanho=5

        para(linha=0; linha<tamanho; linha++){
            para(coluna=0; coluna<tamanho; coluna++){
            se(coluna==0){
                matriz[linha][coluna]=u.sorteia(1,15)
            }
            se(coluna==1){
                matriz[linha][coluna]=u.sorteia(16,30)
            }
            se(coluna==2){
                matriz[linha][coluna]=u.sorteia(31,45)
            }
            se(coluna==3){
                matriz[linha][coluna]=u.sorteia(46,60)
            }
            se(coluna==tamanho-1){
                matriz[linha][coluna]=u.sorteia(61,75)
            }
            se (coluna==tamanho-1){
                escreva(matriz[linha][coluna])
            }
            senao {
                escreva(matriz[linha][coluna], ",")
            }
            }
            escreva("\n")
    }
    }
}

 

E seguindo as questões, na nº2, ele pede o seguinte: Após, gerada uma cartela e impressa (parte 1) Adicione no algoritmo um código que faça automaticamente o sorteio de números aleatórios de 1 a 75. Após cada número sorteado, verificar se a cartela gerada fez um bingo de linha ou de coluna. Em seguida, deve-se imprimir o Bingo!

 

sei gerar os 75 números tbm, mas, não sei como fazer para que faça as comparações e verificar se ocorreu o bingo. 

 

Gostaria de algumas ideias, pliss

 

Share this post


Link to post
Share on other sites

0 answers to this question

Recommended Posts

There have been no answers to this question yet

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By sudden
      Olá alguém que esteja lendo isso, tem dias que eu não consigo rodar esse algoritmo certo, não sei mais o que eu faço, nao sou nenhum desenvolvedor nem nada, tô no 1 semestre
      #include <stdio.h> #include <stdlib.h> //Inicio Structs struct telefones{ char numfixo[15]; char celular[16]; }; struct clientes{ double cpf; int codcliente; struct telefones t; char nome[30]; char sexo; }; struct produtos{ char nomeprod[20]; int codigoproduto; float valor; char modelo [10]; }; struct carrinhos{ struct clientes cliente[5]; struct produtos produto[5]; int quantidade; float subtotal; float desconto; // porcentagem float total; }; struct modelos{ char marca [20]; char modelo [20]; }; /////Fim Structs //Inicio Fun��o void cadastrarCliente(struct clientes cliente[50], int cont); void mostrarCliente(struct clientes cliente[50]); void mostraMenuPrincipal(); void mostrarProduto(struct produtos produto[50]); void cadastrarProduto(struct produtos produto[50],int contp); void efetuarCompra(struct carrinhos carrinho[50],struct clientes cliente[3],struct produtos produto[10]); void ordenarCliente(struct clientes cliente[50]); // Inicio Main void main(int argc, char *argv[]) { int resposta,contp=0,cont=0,voltar=0; //cont e o contador do cliente, contp e do produto. struct produtos produto[50]; struct clientes cliente[50]; struct carrinhos carrinho[50]; struct modelos modelo[50]; ////////////inicio declarando structs para ele ter oque mostrar//////////////////////////////////// ///////////////////Ira direcionar o usuario no menu /////////////////////// do{ mostraMenuPrincipal(); scanf("%d", &resposta); switch(resposta) { case 1: cadastrarCliente(cliente, cont); cont=cont+1; //agora a proxima vez que for cadastrar um cliente, o indice vai ser um apos o anterior. system("pause"); break; case 2: cadastrarProduto(produto,contp); contp=contp+1; system("pause"); break; case 3: mostrarCliente(cliente); system("pause"); break; case 4: mostrarProduto(produto); system("pause"); break; case 5: efetuarCompra(carrinho,cliente,produto); system("pause"); break; case 6: ordenarCliente(cliente); contp=contp+1; break; default: exit(0); } }while(1); } ////////////////////////print menu /////////////////////////////////////////// void mostraMenuPrincipal(){ system("cls"); printf("==========================================================\n"); printf("1 - CADASTRAR CLIENTE\n"); printf("2 - CADASTRAR PRODUTO\n"); printf("3 - LISTA DE CLIENTES\n"); printf("4 - LISTA DE PRODUTOS\n"); printf("5 - EFETUAR VENDA\n"); printf("0 - SAIR DO MERCADO DIGITAL\n"); printf("==========================================================\n"); printf("Digite sua opcao: "); } ////////////////////////print cadastrar cliente /////////////////////////////////////////// void cadastrarCliente(struct clientes cliente[50],int cont){ system("cls"); printf("=======================================================\n"); printf("-----------------CADASTRAR CLIENTE: %d-----------------\n", cont+1); printf("=======================================================\n\n\n"); printf("AVISO! Digite o CPF da forma original com ponto e tra�os\n\n"); printf("CPF: "); fflush(stdin); //limpa o buffer scanf("%f",&cliente[cont].cpf); printf("NUM FIXO: "); fflush(stdin); scanf("%d", &cliente[cont].t.numfixo); printf("CELULAR: "); fflush(stdin); scanf("%d", &cliente[cont].t.celular); printf("NOME: "); fflush(stdin); gets(cliente[cont].nome); printf("DATA NASCIMENTO: "); fflush(stdin); cliente[cont].codcliente=cliente[cont].cpf/100000; printf("\n==========================================================\n"); printf("O CODIGO DO CLIENTE GERADO E: %d",&cliente[cont].codcliente); printf("\n"); //Printa o cliente que foi cadastrado printf("\nCPF: %d",cliente[cont].cpf); printf("\nNUM FIXO: %d",cliente[cont].t.numfixo); printf("\nCELULAR: %d",cliente[cont].t.celular); printf("\nNOME: %s",cliente[cont].nome); printf("\n=================================================\n"); } ////////////////////////print listar cliente /////////////////////////////////////////// void mostrarCliente(struct clientes cliente[50]){ int repet=0; printf("================================================\n"); printf("----------------- LISTAR CLIENTE -----------------\n"); printf("================================================\n"); for(repet=0;repet<=2;repet++){ printf("\nCPF: %d",cliente[repet].cpf); printf("\nNUM FIXO: %d",cliente[repet].t.numfixo); printf("\nCELULAR: %d",cliente[repet].t.celular); printf("\nNOME: %s",cliente[repet].nome); printf("\nCODIGO DO CLIENTE: %d\n",cliente[repet].codcliente); } } ////////////////////////print cadastrar produto /////////////////////////////////////////// void cadastrarProduto(struct produtos produto[50],int contp){ printf("=================================================\n"); printf("-----------------CADASTRAR PRODUTO: %d-----------------\n", contp+1); printf("=================================================\n"); printf("CODIGO DO PRODUTO: \n"); scanf("%d",&produto[contp].codigoproduto); printf("\nNOME DO PRODUTO: "); fflush(stdin); gets(produto[contp].nomeprod); printf("\nMARCA: "); (stdin); printf("\nMODELO: "); fflush(stdin); printf("\nVALOR: "); fflush(stdin); scanf("%f",&produto[contp].valor); //agora printar produto printf("\nCODIGO DO PRODUTO: %d\n",produto[contp].codigoproduto); printf("\nNOME DO PRODUTO: %ss\n",produto[contp].nomeprod); printf("\nVALOR DO PRODUTO: R$ %0.2f\n",produto[contp].valor); printf("\nMODELO DO PRODUTO: %s", produto[contp].modelo); } ////////////////////////print listar produtos /////////////////////////////////////////// void mostrarProduto(struct produtos produto[50]){ int repet; printf("================================================\n"); printf("----------------- LISTAR PRODUTO -----------------\n"); printf("================================================\n"); for(repet=0;repet<=9;repet++){ printf("\n\nCODIGO DO PRODUTO: %d",produto[repet].codigoproduto); printf("\nNOME DO PRODUTO: %s",produto[repet].nomeprod);543; printf("\nVALOR DO PRODUTO: R$ %0.2f\n\n",produto[repet].valor); } } //pode ser de haja erro na compra void efetuarCompra(struct carrinhos carrinho[50],struct clientes cliente[3],struct produtos produto[10]){ int buscacliente,x; int buscaprod,buscaprod2,buscaprod3; int quantidade,quantidade2,quantidade3; float total,total2,total3; float totalum,todototal,cupom,desc; float fimtotal; mostrarCliente(cliente); printf("\n\nDigite o codigo do cliente: "); scanf("%d",&buscacliente); for(x=0;x<=50;x++){ int y; if(cliente[x].codcliente==buscacliente){ y=1; } if(y==1){ buscacliente=x; y=51; } } system("cls"); mostrarProduto(produto); printf("\ncarrinho do cliente %s",cliente[buscacliente].nome); printf("\ndigite o codigo do produto 1: "); scanf("%d",&buscaprod); for(x=0;x<=50;x++){ int y; if(produto[x].codigoproduto==buscaprod){ y=1; } if(y==1){ buscaprod=x; y=51; } } printf("\ndigite a quantidade: "); scanf("%d",&quantidade); total = quantidade * produto[buscaprod].valor; //REPETICAO///////////////////// printf("\ndigite o codigo do produto 2: "); scanf("%d",&buscaprod); for(x=0;x<=50;x++){ int y; if(produto[x].codigoproduto==buscaprod){ y=1; } if(y==1){ buscaprod=x; y=51; } } printf("\ndigite a quantidade: "); scanf("%d",&quantidade); total2 = quantidade * produto[buscaprod].valor; //REPETICAO///////////////////// printf("\ndigite o codigo do produto 3: "); scanf("%d",&buscaprod); for(x=0;x<=50;x++){ int y; if(produto[x].codigoproduto==buscaprod){ y=1; } if(y==1){ buscaprod=x; y=51; } } printf("\ndigite a quantidade: "); scanf("%d",&quantidade); total3 = quantidade * produto[buscaprod].valor; //system("pause"); printf("digite o cupom de desconto: "); scanf("%f", &cupom); todototal = total + total2 + total3; desc = todototal * (cupom / 100); fimtotal = todototal - desc; printf("Total: R$ %0.2f\n", todototal); printf("Valor do Desconto: R$ %0.2f\n", desc); printf("Valor total e R$ %0.2f\n", fimtotal); system("pause"); } void ordenarCliente(struct clientes cliente[50]){ int i,b; int codigotemp,cpftemp,fixotemp,celulartemp,datanasctemp; char nometemp; printf("Organizando lista...\n"); for(i=0;i<=3;i++){ for(b=0;b<=3;b++){ if(cliente[b].codcliente>cliente[b+1].codcliente){ //valores para variaveis temporarias printf("transferindo valores para variaveis temporarias...\n"); codigotemp=cliente[b].codcliente; fixotemp=cliente[b].t.numfixo; celulartemp=cliente[b].t.celular; //strcpy(nometemp , cliente[b].nome); nometemp=cliente[b].nome; cpftemp=cliente[b].cpf; printf("variaveis temporarias transferidas.\n"); //fim da transferencia de valores para variaveis temporarias //fazer os valores de indice b receber o valor do indice da struct do indice seguinte printf("cliente %d recebendo valores do cliente... %d\n",b,b+1); cliente[b].codcliente=cliente[b+1].codcliente; strcpy(cliente[b].nome , cliente[b+1].nome); cliente[b].cpf=cliente[b+1].cpf; printf("cliente %d recebeu valores do cliente %d\n",b,b+1); //fim da transferencia de valores do segundo para o primeiro indice //inicio dE transferencia de valores do primeiro indice para o segundo indice printf("cliente %d recebendo valores das variaveis temporarias...\n",b+1); cliente[b+1].codcliente=codigotemp; printf("recebeu codigo do cliente.\n"); //cliente[b+1].nome=nometemp; strcpy(cliente[b+1].nome,nometemp); //sprintf(cliente[b+1].nome,nometemp); printf("recebeu nome\n"); cliente[b+1].cpf=cpftemp; printf("recebeu cpf\n"); printf("cliente %d recebeu valores das variaveis temporarias\n",b+1); printf("---- ---- ---- ---- "); } } } printf("Operacao concluida.\n"); }  
    • By lara1807
      Boa noite pessoal, preciso resolver um algoritmo que o código abaixo descreve. Eu possuo um vetor de porcentagens e cada porcentagem dessas é atribuida de um valor do vetor entrada_pop. Nesse programa eu quero gerar um numero aleatório e ver as porcentagens que são maiores que esse numero aleatório e armazenar o valor, não da porcentagem, mas do valor que representa a porcentagem, em um vetor novo, depois imprimir este vetor, só que não está indo. Alguém pode me ajudar?? Estou variando os valores de 0 a 100
      #include <time.h>
      #include<math.h>
      #define num_individuo 3
      #define tam_vetores 1000
      int main()
      {
          float valor_percen_aptidao[]={6,20,80},v_selecionado[100],vetor_entrada_pop[]={1,2,3};
          int cont=0,i,valor_percen;
          srand(time(NULL));
          while(cont<=num_individuo)
          {
              valor_percen=(rand()%100);
              printf("sorteado %d",valor_percen);
              for(i=0;i<num_individuo;i++)
              {
                  if(valor_percen_aptidao[1]>=(float)valor_percen)
                  {
                      v_selecionado[cont]=vetor_entrada_pop;
                      cont++;
                  }
              }
          }
           for(i=0;i<num_individuo;i++)
          {
              printf("selecionados %.2f \n",v_selecionado);
          }
      }
       
    • By vfraanco
      Desenvolva um algoritmo em pseudocodigo que permita ler as notas que N alunos obtiveram numa disciplina e mostre a
      percentagem de notas positivas e a média das notas negativas. O número de alunos (N) deve ser
      introduzido pelo utilizador e validado.
    • By ViniciusRamoa
      Olá, comecei a estudar algoritimos e me informaram que o melhor programa para estudar é o Visualg, mas estou com um Problema, ele está preenchendo informações automaticamente onde o usuários deveria preencher, como nas imagens mostradas, ele deveria aguardar o usuário responder com seu nome, mas ele preenche automaticamente, como resolver este Problema? Pois eu acredito que o código está correto


    • By gbilibio
      Bom dia, preciso realizar uma atividade em portugol, aonde é feito a leitura de um número, identificando se o mesmo é primo, caso não seja primo, deve ser feita a decomposição em fatores primos, o algoritmo para de rodar quando for informado um número negativo. porém como posso realizar um laço ou condicional para fazer a fatoração ? Ainda não encontrei a forma adequada, se puderem ajudar por favor
       
      Segue o meu código:
       
      programa
      {
          
          funcao inicio()
          {
              inteiro n = 0, cont = 0
              inteiro d = 1
              inteiro fat
              inteiro div = 0
              inteiro comp = 0
              
              escreva("Informando se o número é composto ou primo e sua decomposição \n")

              enquanto(n >= 0){
              escreva("Informe um número natural: ")
              leia(n)
              se(n == 1){
                  escreva("O número não é primo nem composto! \n")
              }
              se(n % d == 0){
              
                  d = 2                
              }
              
              se(n == 0){
                  escreva("O número não é primo nem composto! \n")
              }
              senao
                  se(n % d == 0 e n % n == 0 e n != 2){
                      escreva("O número " ,n, " é composto! ")
                  
                      comp = n                            
                                                                                  
              }senao
                  se(n % n == 0 e n > 0 e n != 0 e n != 1){
                      
                  escreva("O número " ,n, " é primo! \n")
                  
                  }
              
                  
                  
              }                    
                                  
          }    
      }

       
       
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.