Задать вопрос
@alex999921

Как заполнить произвольной ширины, высоты матрицу пирамидой?

Это код на квадратную матрицу,
как реализовать чтобы высоту и ширину задавать числами
N = 7;

// w = 6;
// h = 5;

let m = [];
for (let i = 0; i < N; i++) {
    m.push([]);
    for (let j = 0; j < N; j++) {
        m[i].push(0);
    }
}


let start = 0, end = N - 1;
while (start <= end) {
    fillLayer(m, start++, end--);
}

function fillLayer(m, s, e) {
    for (let i = s; i <= e; i++) {
        for (let j = s; j <= e; j++) {
            m[i][j]++;
        }
    }
}
console.log(m);

должно получится
[
    [1, 1, 1, 1, 1, 1],
    [1, 2, 2, 2, 2, 1],
    [1, 2, 3, 3, 2, 1],
    [1, 2, 2, 2, 2, 1],
    [1, 1, 1, 1, 1, 1]
];
  • Вопрос задан
  • 138 просмотров
Подписаться 1 Простой 2 комментария
Решение пользователя longclaps К ответам на вопрос (3)
longclaps
@longclaps
mat[x][y] = min(x,y,width-x-1,height-y-1)+1
Ответ написан