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

Dúvida no Ex. 1 da Aula 7 - Desafio final

O exercicio final pede para sortear 6 números de 1 a 60 e guardar numa array. Depois peça para o usuário dizer 6 números, um de cada vez (pode usar um prompt ou um input) e guarde-os em uma outra array. Aí diga quantos números ele acertou.

Coloquei o seguinte codigo e nao estou conseguindo achar o numero de acertos, sempre da 0. No caso, eu ja tinha definido as variaveis que seriam sorteadas.

<meta charset="UTF-8">

<script>


var numeroSorteados = [1,3,10,12,15,23];
var numero = [];

for(i = 0; i < 6; i = i + 1){
    var numeroApostado = [];
    var numeroApostado[i] = parseInt(prompt("Qual a sua aposta?"));
}

for(j=0; j < 6; j++){
    for(l = 0; l < 6; l++){
        var numerosAcertados = 0;
        if(numeroApostado[j] == numeroSorteados[l]){
            numerosAcertados = numerosAcertados + 1;
        }
    }
}


alert("Voce acertou: " + numerosAcertados);

</script>
2 respostas
solução!

1º - não pode inicializar 2 variáveis com o mesmo, isso gera um conflito. Mostrado dentro do for.

 var numeroApostado = [];
    var numeroApostado[i] = ...

2º - você inicializou a variavel dentro do for, isso faz com que ao finalizar o for irá acabar com as variáveis inicializadas, logo descartando todos valores que ela possui.

Basicamente com a correção do seu script fica assim, coloquei também em alguns lugares quando acrescenta 1 a uma variavel ++ como você fez no i e j:

<meta charset="UTF-8">

<script>
    var numeroSorteados = [1, 3, 10, 12, 15, 23];
    var numero = [];
    var numeroApostado = []; //correção aqui, retirado dentro do for
    for (i = 0; i < 6; i++) {
        numeroApostado[i] = parseInt(prompt("Qual a sua aposta?")); //correção aqui, removido o nome var
    }
    var numerosAcertados = 0; // correção aqui, retirado dentro do for
    for (j = 0; j < 6; j++) {
        for (l = 0; l < 6; l++) {
            if (numeroApostado[j] == numeroSorteados[l]) {
                numerosAcertados++;
            }
        }
    }
    alert("Voce acertou: " + numerosAcertados);
</script>

E ainda existe variável que não é usada no seu código como exemplo:

var numero = [];