Solucionado (ver solução)
Solucionado
(ver solução)
4
respostas

Dúvida Aula 7 - Desafio final - a mega sena não sortei numeros repetidos

Até onde sei a loteria não sorteia números repetidos, mas o programa sugerido sorteia, então o programa não esta correto. Estou certo de pensar isso ou não consigo entender direito como o programa funciona?

4 respostas

Lucas, o exercicio não pede que você valide numeros repetidos. A forma correta na Loteria que conhecemos realmente é não repetir. Eu fiz o exercício sem validar repetições. Mas nada te impede de validar as repetições, é bem simples e durante o curso vemos isso.

solução!

Lucas, eu achei muito controverso o programa permitir que sejam sorteados numeros repetidos. Daí lendo o forum aqui, eu vi que o método indexOf() pode nos ajudar. Veja no trecho de código abaixo: o indexOf vai varrer todo o vetor procurando o número. Se ele não achar nenhum igual, vai devolver o valor -1. No nosso caso, não achar o número sorteado dentro do array é ótimo pois e a certeza que ele não será um número repetido! Então podemos adicioná-lo sem erro!

var loteria = [];
while(loteria.length < 6){
    var numeroSorteado = Math.round(Math.random() * 60);
    if(loteria.indexOf(numeroSorteado) == -1 && numeroSorteado!=0){
        loteria.push(numeroSorteado);
    }
}
console.log(loteria);

Observe que eu também pergunto se o número é diferente de zero, pois a loteria permite números de 1 a 60. Não sei te afirmar se essa é a melhor forma de tirar o zero fora desse array, mas fiz os testes aqui e não apareceram nem repetidos e nem o 0.

Espero ter ajudado. :)

Fernando, sua dúvida foi solucionada? Caso tenha sido, feche o tópico :)

Muito obrigado Fernando e Josélia pelas respostas =D