Vetores com tamanhos definidos para armazenar pares e impares.
Viva pessoal,
Antes de mais gostaria de agradecer dicas anteriores de usuários do forum... acreditem que estou a aprender mais aqui que na faculdade :)
Agora estou a montar um programa onde existem 2 vetores (pares e impares) com tamanho fixo (5 cada) que solicita a inserção de 10 números, armazenando-os no vetor correspondente. Para além disso, caso um dos vetores já esteja completo será mostrado um alerta a indicar que por exemplo o vetor Pares está cheio e só serão aceites números impares a partir daí.
Inicialmente fiz este código:
var numeros = [],
pares = [],
impares = [],
i = 0,
j = 10;
for (i = 1; i <= 10; i++) {
var x = parseFloat(prompt("Digite o "+ i +"º numero:"));
numeros.push(x);
}
while(j--) {
if (j % 2 == 0) {
pares.push(numeros[j]);
}
if (j % 2 != 0) {
impares.push(numeros[j]);
}
}
e inseri os números inteiros de 1 a 10...
mas os resultado apresentado foi este:
Numeros [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
Números pares [9, 7, 5, 3, 1]
Números impares [10, 8, 6, 4, 2]
Na verdade estava à espera exatamente do oposto...
Deixando esta situação para tentar resolver depois, porque mesmo valores errados o programa esta a armazenar, aí tentei fazer a limitação do número de números armazenados, ou seja, se digitasse 6 numeros pares ele não aceitaria o 6º e daria um alerta e modifiquei o código da seguinte forma:
if (j % 2 == 0 && pares[] <= 5) {
pares.push(numeros[j]);
}else
alert("O armazenamento de pares está completo, digite só impares.");
Mas o alerta só é mostrado no final 5 vezes...
Alguém me pode dar uma dica sobre o que está errado na minha lógica???
Discussão (5)
Carregando comentários...