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 Scala

1 Answer

0 votes
object DiagonalSum {
  def sumDiagonals(matrix: Array[Array[Int]], rows: Int, cols: Int): Int = {
    var sumDiagonalLeft = 0
    var sumDiagonalRight = 0

    for (i <- 0 until rows) {
      for (j <- 0 until cols) {
        if (i == j) {
          sumDiagonalLeft += matrix(i)(j)
        }
        if ((i + j) == (rows - 1)) {
          sumDiagonalRight += matrix(i)(j)
        }
      }
    }

    println(s"sumDiagonalLeft = $sumDiagonalLeft")
    println(s"sumDiagonalRigth = $sumDiagonalRight")

    sumDiagonalLeft + sumDiagonalRight
  }

  def main(args: Array[String]): Unit = {
    val matrix = Array(
      Array(1,   2,   3,   4,  0),
      Array(5,   6, 100,   8,  1),
      Array(2, 100,   8, 100,  3),
      Array(1,   7, 100,   9,  6),
      Array(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.length
    val cols = matrix(0).length

    println(sumDiagonals(matrix, rows, cols))
  }
}

 
 
/*
run:
   
sumDiagonalLeft = 37
sumDiagonalRigth = 32
69
 
*/

 



answered Dec 19, 2024 by avibootz

Related questions

1 answer 71 views
1 answer 76 views
1 answer 76 views
2 answers 112 views
1 answer 97 views
1 answer 140 views
...