Welcome to collectivesolver - Programming & Software Q&A with code examples. A website with trusted programming answers. All programs are tested and work.

Contact: aviboots(AT)netvision.net.il

Buy a domain name - Register cheap domain names from $0.99 - Namecheap

Scalable Hosting That Grows With You

Secure & Reliable Web Hosting, Free Domain, Free SSL, 1-Click WordPress Install, Expert 24/7 Support

Semrush - keyword research tool

Boost your online presence with premium web hosting and servers

Disclosure: My content contains affiliate links.

39,971 questions

51,913 answers

573 users

How to find the sum of diagonals of a matrix in Swift

1 Answer

0 votes
import Foundation

func sumDiagonals(matrix: [[Int]], rows: Int, cols: Int) -> Int {
    var sumDiagonalLeft = 0
    var sumDiagonalRight = 0

    for i in 0..<rows {
        for j in 0..<cols {
            if i == j {
                sumDiagonalLeft += matrix[i][j]
            }
            if (i + j) == rows - 1 {
                sumDiagonalRight += matrix[i][j]
            }
        }
    }

    print("sumDiagonalLeft = \(sumDiagonalLeft)")
    print("sumDiagonalRight = \(sumDiagonalRight)")

    return sumDiagonalLeft + sumDiagonalRight
}

let matrix = [
    [1,   2,   3,   4,  0],
    [5,   6, 100,   8,  1],
    [2, 100,   8, 100,  3],
    [1,   7, 100,   9,  6],
    [ 9,  10,  11,  12, 13]
]

// sumDiagonalLeft = (1 + 6 + 8 + 9 + 13) = 37
// sumDiagonalRigth = (0 + 8 + 8 + 7 + 9) = 32 
   
// 37 + 32 = 69

let rows = matrix.count
let cols = 5

let result = sumDiagonals(matrix: matrix, rows: rows, cols: cols)
print("Sum of diagonals: \(result)")




/*
run:

sumDiagonalLeft = 37
sumDiagonalRight = 32
Sum of diagonals: 69

*/

 



answered Dec 19, 2024 by avibootz

Related questions

1 answer 75 views
1 answer 66 views
1 answer 75 views
2 answers 111 views
1 answer 97 views
1 answer 140 views
...