Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Помогите решить задачу на программирование по JS

Александр Романчук Ученик (93), на голосовании 7 месяцев назад
У вас есть переменная n, которая содержит входные пользовательские данные.

Напишите JavaScript код, который создает двумерный массив и заполняет его по следующему правилу: на главной диагонали должны быть записаны числа 0. На двух диагоналях, прилегающих к главной, числа 1. На следующих двух диагоналях числа 2, и т.д. Результат записать в виде нового массива в переменную result.

Например:

Если n = 4 тогда:

[
[ 0, 1, 2, 3 ],
[ 1, 0, 1, 2 ],
[ 2, 1, 0, 1 ],
[ 3, 2, 1, 0 ]
]
Если n = 5 тогда:

[
[ 0, 1, 2, 3, 4 ],
[ 1, 0, 1, 2, 3 ],
[ 2, 1, 0, 1, 2 ],
[ 3, 2, 1, 0, 1 ],
[ 4, 3, 2, 1, 0 ]
]
Sample Input 1:

4
Sample Output 1:

[[0,1,2,3],[1,0,1,2],[2,1,0,1],[3,2,1,0]]
Sample Input 2:

5
Sample Output 2:

[[0,1,2,3,4],[1,0,1,2,3],[2,1,0,1,2],[3,2,1,0,1],[4,3,2,1,0]]
Голосование за лучший ответ
Shodon Asrorov Ученик (204) 8 месяцев назад
Емае, че тут сложного. Попробуй через цикл
Celtic Hammer Мудрец (16482) 8 месяцев назад
  var res = []; 
var num = +prompt('размер матрицы');
for (var i = 0; i < num; i++) {
var n = [];
for(var k1 = i; k1 > 0; k1--){
n.push(k1)
}
for (var k2 = 0; k2 < num - i; k2++) {
n.push(k2)
};
res.push(n)
};
console.log(res)
Похожие вопросы