Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

165
Vistas
El programa no funciona correctamente al ingresar un número de 2 dígitos
const ps = require("prompt-sync"); const prompt = ps(); console.log("\nFinding The Maximum Number In The Array"); console.log("---------------------------------------"); let length = prompt("Enter the length of the array: "); let temp = 0; let maxnum; let array = []; for(let i=0; i<length;i++){ let num = prompt(i+":"); array[i] = num; } console.log("\nlength: " + length); for(let o=0; o < length ; o++ ){ if(array[o] > temp){ temp = array[o]; } if(o == (length-1)){ maxnum = temp; console.log("\ncurrent max " + maxnum); } } console.log("The maximum number is: "+ maxnum);

Funciona correctamente al comparar números de 1 dígito; 1,2,3,7 por ejemplo. Su salida es 7 para el número máximo. Pero al agregar 10 a la lista, el programa seguirá generando 7.

about 4 years ago · Juan Pablo Isaza
3 Respuestas
Responde la pregunta

0

prompt obtiene valores de cadena, y cuando compara el valor de cadena 10 a 7 , entonces 7 se considera el mayor , porque la comparación de cadenas ocurre carácter por carácter, de izquierda a derecha.

Utilice array[i] = parseInt(num); para convertir esos valores de cadena en valores enteros reales primero.

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/parseInt

about 4 years ago · Juan Pablo Isaza Denunciar

0

Debido a que el mensaje le da una cadena, está comparando los valores alfabéticamente. Así como el carácter "C" podría considerarse mayor que el carácter "A", el carácter de texto "7" también es mayor que el carácter de texto "1". Así como la palabra "MANZANA" se ordena alfabéticamente antes que "GATO", aunque "MANZANA" sea más larga, la cadena de texto "10" se ordena alfabéticamente antes que la cadena de texto "7". De hecho, el texto "1000000" también vendría antes que el texto "7" cuando se ordenaran alfabéticamente.

Para resolverlo, primero debe convertir la cadena de texto en un número, lo que se puede lograr con parseInt(). Un lugar conveniente para hacer esto sería inmediatamente después de recuperar la entrada de cadena del usuario, como en array[i] = parseInt(num); .

about 4 years ago · Juan Pablo Isaza Denunciar

0

Debe almacenar los valores como un número entero en su matriz mientras acepta la entrada en el indicador. De lo contrario, los valores se considerarán de tipo cadena por defecto.

Puede usar parseInt(yourInput); .

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda