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

209
Vistas
Por favor, ¿hay alguna manera de que pueda imprimir un rectángulo hueco como este en la imagen con javascript?

Por favor, estoy tratando de imprimir un rectángulo hueco de acuerdo con la longitud y el ancho que el usuario le da al comando, pero parece que no puedo entender cómo puedo lograrlo. He intentado tantas iteraciones de mi código a continuación sin archivar el resultado requerido. A continuación se muestra el código:

 function printRectangle(rows, cols) { let i, j; for (i = 0; i <= rows; i++) { for (j = 0; j <= cols; j++) { if (i < 2 || i === rows || j < 2 || j <= cols - 15) { process.stdout.write('*'); } else { if (i < 2 || i === rows || j === 2 || j <= cols - 5) { process.stdout.write(' '); } // process.stdout.write(' '); } } process.stdout.write('*****\n'); } } // user imputs let rows = 10, columns = 30; printRectangle(rows, columns);

Lo estoy imprimiendo en la línea de comando usando node.js. a continuación se muestra el resultado deseado y lo que he estado obteniendo: El resultado deseado que debo imprimir

lo que estoy recibiendo

 function printRectangle(rows, cols) { let i, j; for (i = 0; i <= rows; i++) { for (j = 0; j <= cols; j++) { if (i < 2 || i === rows || j < 2 || j <= cols - 15) { process.stdout.write('*'); } else { if (i < 2 || i === rows || j === 2 || j <= cols - 5) { process.stdout.write(' '); } // process.stdout.write(' '); } } process.stdout.write('*****\n'); } } // user imputs let rows = 10, columns = 30; printRectangle(rows, columns);

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

0

Esto funcionaría. console.log para que puedas ver la demostración.

 const spaceWidth = 21; const spaceHeight = 3; function printRectangle(rows, cols) { let result = ''; const borderWidth = (cols - spaceWidth) / 2; const borderHeight = (rows - spaceHeight) / 2; for (let i = 0; i < rows; i++) { for (let j = 0; j < cols; j++) { const rowIsBorder = i < borderHeight || i >= borderHeight + spaceHeight; const colIsBorder = j < borderWidth || j >= borderWidth + spaceWidth; result += rowIsBorder || colIsBorder ? '*' : ' '; } result += '\n'; } console.log(result); } printRectangle(9, 31);

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