
encontrar el elemento mayor de un arreglo
Publicado por Gamaliel (3 intervenciones) el 18/07/2014 21:32:46
Apenas estoy aprendiendo JavaScript. Empezé con un curso de una página llamada Codecademy. Me ha agradado la interactividad que tienen los ejercicios. Llevo como 2 semanas sin poder avanzar ya que no me sale el siguiente ejercicio. Por suerte, eso no me detuvo en mi estudio, ya que encontré el curso de W3schools que también me ha ayudado, pero tengo la curiosidad de avanzar en el de Codecademy.
El ejercicio se llama Bucles y arreglos III y viene con este texto:
Los bucles y los arreglos a menudo van de la mano. Así que vamos a repasar un poco más.
Los arreglos contienen un número de elementos. Estos elementos están en un orden en particular. Los bucles se combinan bien con los arreglos porque iteran en un orden prestablecido (por ejemplo, i+2 hace que avance de dos en dos).
Estas son las instrucciones del ejercicio:
Escribe un bucle que encuentre el elemento mayor en un arreglo. Luego registra ese elemento en la consola. ¿Cómo lo hacemos?
Escribe un bucle que comience en la línea 4, y que contenga una sentencia if.
Compara el primer elemento del arreglo con la variable mayor. Si este elemento es mayor que mayor, has que mayor sea igual a este elemento.
Entonces el bucle se repetirá. En ese momento compararás el segundo elemento del arreglo con mayor. Y así sucesivamente.
Solamente cambiarás el valor de la variable si el elemento actual del arreglo es mayor que el valor de la variable.
Tu bucle for seguirá pasando por cada elemento del arreglo y tu variable terminará con el valor mayor en el arreglo.
Este es el código que ya viene en el ejercicio, y que yo tengo que modificar:
Este es el código que he escrito yo, que no me lo acepta, porque dice que imprime 0, en vez de 89.
La verdad me sorprende este ejercicio, ya que hay una función que permite automáticamente sacar el valor mayor de un arreglo. Además de que no entendí mucho la lógica de cómo esas instrucciones me permitirían que se imprima en la consola el elemento más grande. Si alguien pudiera sugerirme una solución a este ejercicio se lo agradecería.
El ejercicio se llama Bucles y arreglos III y viene con este texto:
Los bucles y los arreglos a menudo van de la mano. Así que vamos a repasar un poco más.
Los arreglos contienen un número de elementos. Estos elementos están en un orden en particular. Los bucles se combinan bien con los arreglos porque iteran en un orden prestablecido (por ejemplo, i+2 hace que avance de dos en dos).
Estas son las instrucciones del ejercicio:
Escribe un bucle que encuentre el elemento mayor en un arreglo. Luego registra ese elemento en la consola. ¿Cómo lo hacemos?
Escribe un bucle que comience en la línea 4, y que contenga una sentencia if.
Compara el primer elemento del arreglo con la variable mayor. Si este elemento es mayor que mayor, has que mayor sea igual a este elemento.
Entonces el bucle se repetirá. En ese momento compararás el segundo elemento del arreglo con mayor. Y así sucesivamente.
Solamente cambiarás el valor de la variable si el elemento actual del arreglo es mayor que el valor de la variable.
Tu bucle for seguirá pasando por cada elemento del arreglo y tu variable terminará con el valor mayor en el arreglo.
Este es el código que ya viene en el ejercicio, y que yo tengo que modificar:
1
2
3
4
5
6
7
8
9
var arreglo = [3 , 6, 2, 56, 32, 5, 89, 32];
var mayor = 0;
console.log(mayor);
Este es el código que he escrito yo, que no me lo acepta, porque dice que imprime 0, en vez de 89.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
var arreglo = [3 , 6, 2, 56, 32, 5, 89, 32];
var mayor = 0;
for(i = 0; i < arreglo.lenght; i++){
if (arreglo[i] > mayor)
{
mayor = arreglo[i];
};
}
console.log(mayor);
La verdad me sorprende este ejercicio, ya que hay una función que permite automáticamente sacar el valor mayor de un arreglo. Además de que no entendí mucho la lógica de cómo esas instrucciones me permitirían que se imprima en la consola el elemento más grande. Si alguien pudiera sugerirme una solución a este ejercicio se lo agradecería.
Valora esta pregunta


0