Problema con Array en Javascript

Muy buenas.

Abro este hilo para compartir con vosotros un problema que me ha surgido en un pequeño código en Javascript, con el cual me estoy haciendo un pequeño lío.

El objetivo del programa es, que partiendo de un Array de 6 números introducidos por el usuario a través de un prompt, se saque por pantalla el número mayor, el menor, y la posición que ocupan estos en el Array.

He conseguido resolver correctamente el sacar el número mayor y menor, pero no localizo dónde está el fallo a la hora de darme la posición que ocupan en el Array, ya que me dá una posición incorrecta.

Os dejo el código para que le hechéis un vistazo a ver si me podéis decir dónde he fallado. Gracias por la colaboración.

<script>
         var num= new Array(6);
         var poma= 0;
         var pome= 0;
         var numa= 0;
         var nume= 0;
         var c= 0;
         
         while(c<6){
            num[c]=parseInt(prompt("Introduce un número"));
            if (c==0){
               numa=num[c];
               nume=num[c];
               poma=c;
               pome=c;
            }
            if(num[c]>numa){
               numa=num[c];
               poma=c;
            }
            if(num[c]<numa){
               nume=num[c];   
               pome=c;
            }
            c++;
         }
         document.write("El número mayor es el "+numa+" y está en la posición "+poma+"<br>");
         document.write("El número menor es el "+nume+" y está en la posición "+pome);
      </script>
que posicion te da? recuerda que el array va de 0 a 5...
yo lo he ejecutado y me funciona bien,
No se si es tan sencillo que no veo el supuesto fallo en el algoritmo pero parece que está bien...

un saludo
DjTemplar escribió:que posicion te da? recuerda que el array va de 0 a 5...
yo lo he ejecutado y me funciona bien,
No se si es tan sencillo que no veo el supuesto fallo en el algoritmo pero parece que está bien...

un saludo


DjTemplar, pues acabo de comprobarlo y es cierto. He copiado el código con una pequeña modificación que he hecho en un if usándolo en detrimento del else y ahora parece funcionar correctamente. Puede que me estuviese calentando la cabeza por la caché del navegador. [+risas]

Gracias por pasarte.

EDIT: Falsa alarma. Como bien dices el array se empieza a numerar a partir del 0.

Introduciendo la siguiente secuencia, me devuelve esto:

0>2
1>3
2>1
3>9
4>7
5>6

Me indica que el número mayor es el 9 y está en la posición 3 (Correcto)
El número menor es el 6 (Incorrecto) y está en la posición 5 (Incorrecto)

Qué lio xD [+risas]
En el tercer if estás comparando con numa en vez de con nume.
Kbras escribió:En el tercer if estás comparando con numa en vez de con nume.


Joder es verdad, ya sabía yo que tenía que ser un fallo tonto. Lo he modificado y parece que ahora funciona correctamente...

Gracias por la observación Kbras.
Moraleja: usa nombres de variables menos confusos entre ellos ;)
5 respuestas