7. Magic Matrices
Здравейте,
Може ли малко помощ с тази задача.
function solve(input) {
var matrix = input.map(row => row.split(' ').map(Number));
var sum1 = 0;
var sum2 = 0;
for (let row = 0; row < matrix.length; row++) {
for (let col = 0; col < matrix[row].length; col++) {
/////////////
}
}
}
Стигам до тук, където имам всеки елемент от ред и колона.
Ако кажа sum1+= matrix[row][col] ми прави сумата на всички елементи. Как да огранича при първото завъртане да върти само до последната колона?
Ако може да дадете и малко обучителни материали за тези матрици ще е добре - някое видео или нещо..благодаря!
Здравей,
Благодаря за отговора.
Можеш ли да ми поясниш какво точно се случва с този ред:
matrix[0].forEach(x => sum += x);
Благодаря.
Здравей, с този ред изчислявам референтна сума от елементите на първия ред на матрицата. Кодът може да се чете така: обхождаме ред 0 на матрицата (matrix[0]) и на всеки елемент на реда правим някакво действие (.forEach(x => някакво действие)), в случая - добавяме елемента към предишната стойност на sum (sum += x), която първоначално е нула. Вместо горния код, може да се използва цикъл за обхождане на колоните и сумиране на елементите:
Използвам референтната сума за сравняване с всяка една от следващите изчислени суми по редове или колони и ако някоя от следващите суми се различава от референтната, се връща false, т.е. не всички редове и колини имат еднаква сума. Ако нито една изчислена сума не се различава от референтната, се връща true. Надявам се тези обяснения да ти бъдат от полза.