Нужно привести к такому виду:
> *****
****
***
**
*
**
***
*****
******
где n7 это число звездочек.Не работает 3й цикл.
function task7(n7) {
for (var i = 0; i < n7; n7--) {
for (var j = 1; j < n7; j++) {
process.stdout.write("*");
};
console.log('*');
};
var result = "";
for (var k = 1; k < n7; k++) { // не работает, хотя отдельной функцией работает.
result = `${result}*`;
console.log(result);
};
}
task7(n7);
Ведь первые два цикла проходят и доходит очередь до 3го, но он даже не стартуется. Где нарушена моя логика?
Когда дело доходит до 3го цикла n7 равно 0. Соответственно, цикл не запускается
Ваше же решение чуть короче:
i = (n - 1) * 2 + 1
и в каждой итерации цикла печатаем звёздочку len
-раз с помощью метода строки repeat
len += vector
== 1 && (vector = 1)
(function(n){
for (
let i = (n - 1) * 2 + 1,
len = n,
vector = -1;
i--;
) {
console.log('*'.repeat(len));
(len += vector) == 1 && (vector = 1);
}
})(4);
Можно сделать ещё проще, если найти формулу зависимости числа звёздочек от номера строки. Для этого повернём голову на 90 градусов вправо глядя на ваш вопрос. Получится примерно такая картинка:
В глаза бросаются оси OX и OY. Проведём по макушкам звёздочек две прямые: первая из точки {0, 5}
в {4, 1}
, а вторая из {4, 1}
в {8, 5}
. Теперь найдём Уравнение прямой, проходящей через две заданные несовпадающие точки для каждой из них.
(y1 - y2) * x + (x2 - x1) * y + (x1 * y2 - x2 * y1) = 0
Для первой получаем y = 5 - x
, для второй y = x - 3
, где x
- номер итерации в вашем цикле, а y
- число звёздочек для repeat
-функции. Осталось добавить в цикле проверку на пересечение середины графика. До него используете первую формулу, после - вторую.
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Обратная связь на сайте реализована с помощью библиотеки php mailerВозникла необходимость передачи выбранного значения тега select
Здравствуйте, при таком использовании, действие происходит по правилам тоглера, те