Loading...
dido1092 avatar dido1092 38 Точки

Задача: квадрат от звездички за JS

Привет,

някой има ли си на идея как трябва да изглежда кода за задачата на Javascript и по-специално нещо не ми се получава с console.log за принтването на празно пространство? Иначе следния код на C# работи.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApplication1
{
    class squareOfStars
    {
        static void Main(string[] args)
        {
            Console.Write("Enter number: ");
            int number = int.Parse(Console.ReadLine());
            //Console.WriteLine(number);
            for (int squareHeight = 1; squareHeight <= number; squareHeight++)
            {
                if ((squareHeight == 1) || (squareHeight == number))//Print first & last line
                {
                    for (int squareWidthFullLine = 1; squareWidthFullLine <= number; squareWidthFullLine++)
                    {
                        Console.Write("*");
                    }
                    Console.WriteLine();
                }
                else
                {
                    Console.Write("*");
                    for (int j = 0; j < number - 2; j++)//Print empty space
                    {
                        Console.Write(" ");
                    }
                    Console.Write("*");
                    Console.WriteLine();
                }
            }
        }
    }
}

 

Този тук неработещият е на JS!

---------------------------------------------

function squareOfStars([number]){

let char = "*";

let space = "";

for (let squareHeight = 1; squareHeight <= number; squareHeight++) {

if((squareHeight == 1)||(squareHeight == number))//print first & last line

{

space = "";

for (let squareWidthFullLine = 1; squareWidthFullLine <= number; squareWidthFullLine++) {

space += char;

}

//document.write(space);

console.log(space);

//console.log("\n");

}

else{

space = "";

//document.write(char);

 

for (let empty = 0; empty < number - 2; empty++) {

//document.write("\xa0");

space += "";

}

//console.log(str);

//document.write(char);

console.log(char, space, char);

//}

}

console.log("\n");

//document.write("</br>");

}

}

squareOfStars([7]);

Рових и в интернет, но засега без резултат!

0
Programming Basics
dido1092:
Задачата е решена!
The_assassin avatar The_assassin 158 Точки

Според мене space е това " ", не "" .

0
dido1092 avatar dido1092 38 Точки

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

Отделно console.log явно бие и нов ред след всяко извикване, лъжа go с един вид масив (string) вече 2 дни и не става! На C# стана за 10 тина мин :)

Разстоянието между звездичкките на средните редове идва или голямо или малко! 

0
21/10/2018 17:22:10
The_assassin avatar The_assassin 158 Точки

 Е, аз не съм от JavaScript курса, но докато чакаш някой по-компетентен да ти отговори, виж:

replace(/\n/g, '')

repeat()

Аз не знам до къде сте стигнали, но ако може да ги използваш, според мене биха ти свършили работа.

0
The_assassin avatar The_assassin 158 Точки

Между другото, следната „простотия“, работи при мене на конзолата: laugh

var zvz = "*";
var rpt = 10;
var sps = " ".repeat(rpt -2);
console.log(zvz.repeat(rpt));
for (let empty = 1; empty < rpt -1; empty++) {
console.log(zvz+sps+zvz)
}
console.log(zvz.repeat(rpt));

 

0
boykopk avatar boykopk 147 Точки

Здравей,

на javascript не трябва да качваш squareOfStars([7]); в judge. равенството е с три ===.

Ето едно решение:

function squareOfStars([arg1]) {
    let n = Number(arg1);
    console.log("*".repeat(n));
    for (let i = 1; i < n - 1; i++) {
        let space = '*';
        for (j = 0; j < n - 2; j++) {
            space += ' ';
        }
        space += '*';
        console.log(space); 
    }
    console.log("*".repeat(n));
}

1
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.