matrix generate random number from 0 to 99 without repetition Visualg

Asked

Viewed 2,031 times

0

I had already asked the question but I informed the wrong question. Anyway, I need to make a program to automatically generate numbers between 0 and 99 of a bingo card (5x5) and cannot generate repeated numbers within the cards I’ve tried my hand and so far it’s working and I couldn’t understand the examples I looked for (q are usually in C) LAST THING I DID ...

 para i de 0 ate 4 passo 1 faca
       para j de 0 ate 4 passo 1 faca
            se (cartela[i,j]+1 <> cartela[i,j]) entao
            cartela[i,j] <- randi(99)
            fimse
       fimpara
  fimpara

  para i de 0 ate 4 passo 1 faca
       para j de 0 ate 4 passo 1 faca
            escreva(cartela[i,j])
       fimpara
       escreval("")
  fimpara
  • By the mathematics I know cartela[i,j]+1 will always be different from cartela[i,j]. Your SE command makes no sense.

1 answer

0


Well, with each number generated you can go through your entire matrix, to check if the number has not already been inserted, if it has not entered you enter it, but if it has already been inserted you generate another

Algoritmo "stackoverflow"
Var
    //Declaração das variáveis
    cartela : vetor[0..4,0..4] de inteiro
    i,j,m, n, numero, controlador:inteiro
Inicio
    para i de 0 ate 4 passo 1 FACA
        para j de 0 ate 4 passo 1 FACA
            numero <- randi(99) //gera o número randomico
            controlador <- 0 //controlador para verificar se o numero já foi inserido
            enquanto controlador = 0 faca
                controlador <- 1
                //bloco para verificar toda a matriz
                para m de 0 ate 4 passo 1 FACA
                    para n de 0 ate 4 passo 1 FACA
                        se cartela[m,n] = numero entao //caso o numero já exista
                            numero <- randi(99) //gera o novo número randomico
                            controlador <- 0 //reinicia o controlador para verificar se o novo número existe
                        fimse
                    fimpara
                fimpara
            fimenquanto
            cartela[i,j] <- numero //ao sair do enquanto, é garantido que o número não existe na matriz, então adiciona esse número a matriz.
        fimpara
    fimpara
    para i de 0 ate 4 passo 1 FACA
       para j de 0 ate 4 passo 1 FACA
           escreva(cartela[i,j])
       fimpara
       escreval()
    fimpara
Fimalgoritmo

Browser other questions tagged

You are not signed in. Login or sign up in order to post.