Сумма матричных элементов - PullRequest
0 голосов
/ 20 октября 2019

Я хочу получить сумму элементов матрицы, кроме тех, над которыми число 0, и получить ошибку: Uncaught TypeError: Невозможно установить свойство '0' из неопределенного

function matrixElementsSum(matrix) {
let s = 0;
for (var i = 0; i < matrix.length; i++) {
    for (var j = 0; j <= matrix.length; j++) {
        if (matrix[i][j] == 0) {
            matrix[i+1][j] = 0;
        }
        s += matrix[i][j]
    }
}
return s
}
console.log(matrixElementsSum([[0, 1, 2, 0], 
                               [0, 3, 2, 1], 
                               [2, 0, 2, 3]]))

1 Ответ

0 голосов
/ 20 октября 2019

Ваш счетчик цикла. Я должен перебирать количество строк, а j - итерацию по количеству столбцов. Также перед установкой matrix[i+i][j] в 0, вы также должны проверить, если i+1 < matrix.length (количество строк)

function matrixElementsSum(matrix) {
    let s = 0;
    for (var i = 0; i < matrix.length; i++) {
        for (var j = 0; j < matrix[0].length; j++) {
            if (matrix[i][j] == 0 && i+1 < matrix.length) {
                matrix[i+1][j] = 0;
            }
            s += matrix[i][j]
        }
    }
    return s
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...