Показать сообщение отдельно
  #2 (permalink)  
Старый 10.06.2014, 03:01
Профессор
Отправить личное сообщение для depp Посмотреть профиль Найти все сообщения от depp
 
Регистрация: 22.04.2014
Сообщений: 151

var m1 = [[2,1],[3,9]],
    m2 = [[2,1],[3,9],[4,5]],
    m3 = [[2,1],[3,9],[4,5,6]];

function multi(m,n) {
    if (!m.every(function(n){return n.length==m.length})) {
        return alert('Матрица не квадратная');
    }
    return m.map(function(a){return a.map(function(v){return v*n})});
}

function multi_false(m,n) {
    if (!m.every(function(n){return m[0].length==n.length})) {
        return false;
    }
    return m.map(function(a){return a.map(function(v){return v*n})});
}

console.log(multi(m1,3)); // [[6, 3], [9, 27]]
console.log(multi(m2,3)); // Матрица не квадратная
console.log(multi(m3,3)); // Матрица не квадратная
console.log(multi_false(m1,3)); // [[6, 3], [9, 27]]
console.log(multi_false(m2,3)); // [[6, 3], [9, 27], [12, 15]]
console.log(multi_false(m3,3)); // false

Последний раз редактировалось depp, 10.06.2014 в 03:13.
Ответить с цитированием