Професионална програма
Loading...
Elena123456 avatar Elena123456 44 Точки

Rhombus of Stars (JS)

Здравейте,

моля за помощ за следната задача, която се опитвам да реша с обърнат цикъл.

Искам да зная как се решава с обърнат цикъл, тъй като се пести време просто да се копират зависимостите от първия цикъл за горната част, а не да се създават нови във втория  цикъл за долната час.

Пример: ромбче от звездички

Да се напише програма, която въвежда цяло положително число n и печата ромбче от звездички с размер n.

Вход Изход Вход Изход
1 * 2  * 
* *
 * 
Вход Изход Вход Изход
3   *  
 * * 
* * *
 * * 
  *  
4    *   
  * *  
 * * * 
* * * *
 * * * 
  * *  
   *   

 

Ето и моя опит:

function rhombus ([arg1]) {
  let n=Number (arg1);
 
    for(let row=0; row<n-1; row++) {
     console.log(`${" ".repeat(n-1-row)}${"* ".repeat(row+1)}`)
     }
  console.log("* ".repeat(n));
 
     for(let row<n-1; row=0; row--) {
     console.log(`${" ".repeat(n-1-row)}${"* ".repeat(row+1)}`)
     }
}

 

 

Тагове:
0
Programming Basics
DeveloperEnthusiast avatar DeveloperEnthusiast 302 Точки
Best Answer
function rhombus([arg1]){
    let n = Number(arg1);
    for (let i = 1; i <= n; i++) {
        console.log(" ".repeat(n-i) + "* ".repeat(i) + " ".repeat(n-i));
    }
    for (let i = n-1; i >= 1; i--) {
        console.log(" ".repeat(n-i) + "* ".repeat(i) + " ".repeat(n-i));
    }
}

 

0
Elena123456 avatar Elena123456 44 Точки

Благодаря за бързия отговор!

Благодарение на вас разбрах къде греша и си поправих кода. :)

Ето и моя правилен код:

function rhombus ([arg1]) {
  let n=Number (arg1);
  for(let row=0; row<n-1; row++) {
console.log(" ".repeat(n-1-row)+"* ".repeat(row+1)+" ".repeat(n-1-row));
 }
console.log("* ".repeat(n));
 for(let row=n-2; row>=0; row--) {      
 console.log(" ".repeat(n-1-row)+"* ".repeat(row+1)+" ".repeat(n-1-row));
 }
}

1