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,845 questions

51,766 answers

573 users

How to mirror a matrix across the main diagonal in Scala

1 Answer

0 votes
object MirrorMatrix {
  def main(args: Array[String]): Unit = {
    // Example input matrix (2D array)
    val matrix = Array(
      Array(1, 2, 3),
      Array(4, 5, 6),
      Array(7, 8, 9)
    )

    println("Original Matrix:")
    printMatrix(matrix)

    // Mirror the matrix across the main diagonal
    mirrorMatrix(matrix)

    println("\nMirrored Matrix:")
    printMatrix(matrix)
  }

  // Function to mirror a matrix across the main diagonal
  def mirrorMatrix(matrix: Array[Array[Int]]): Unit = {
    val n = matrix.length

    // Iterate over the upper triangle of the matrix
    for (i <- 0 until n) {
      for (j <- i + 1 until n) {
        // Swap elements above the diagonal with those below it
        val temp = matrix(i)(j)
        matrix(i)(j) = matrix(j)(i)
        matrix(j)(i) = temp
      }
    }
  }

  def printMatrix(matrix: Array[Array[Int]]): Unit = {
    matrix.foreach(row => println(row.mkString(" ")))
  }
}

 


/*
run:
  
Original Matrix:
1 2 3
4 5 6
7 8 9

Mirrored Matrix:
1 4 7
2 5 8
3 6 9
  
*/

 

 



answered Aug 28, 2025 by avibootz
...