Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

164
Views
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 answers
Answer question

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 Report

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 Report

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!