fun sumDiagonals(matrix: Array<IntArray>, rows: Int, cols: Int): Int {
var sumDiagonalLeft = 0
var sumDiagonalRight = 0
for (i in 0 until rows) {
for (j in 0 until cols) {
if (i == j) {
sumDiagonalLeft += matrix[i][j]
}
if (i + j == rows - 1) {
sumDiagonalRight += matrix[i][j]
}
}
}
println("sumDiagonalLeft = $sumDiagonalLeft \nsumDiagonalRigth = $sumDiagonalRight")
return sumDiagonalLeft + sumDiagonalRight
}
fun main() {
val matrix = arrayOf(
intArrayOf(1, 2, 3, 4, 0),
intArrayOf(5, 6, 100, 8, 1),
intArrayOf(2, 100, 8, 100, 3),
intArrayOf(1, 7, 100, 9, 6),
intArrayOf(9, 10, 11, 12, 13)
)
// sumDiagonalLeft = (1 + 6 + 8 + 9 + 13) = 37
// sumDiagonalRigth = (0 + 8 + 8 + 7 + 9) = 32
// 37 + 32 = 69
val rows = matrix.size
val cols = matrix[0].size
println(sumDiagonals(matrix, rows, cols))
}
/*
run:
sumDiagonalLeft = 37
sumDiagonalRigth = 32
69
*/