Write a Go Program to interchange the diagonal items in a Matrix. First, it (if rows == columns) checks whether the given Matrix is square. Next, we used the temp variable to interchange the Diagonal items. The last for loop prints the Matrix after interchanging the diagonals.
package main import "fmt" func main() { var i, j, rows, columns, temp int var digInterMat [10][10]int fmt.Print("Enter the Matrix rows and Columns = ") fmt.Scan(&rows, &columns) fmt.Println("Enter Matrix Items to Interchange diagonals = ") for i = 0; i < rows; i++ { for j = 0; j < columns; j++ { fmt.Scan(&digInterMat[i][j]) } } if rows == columns { for i = 0; i < rows; i++ { temp = digInterMat[i][i] digInterMat[i][i] = digInterMat[i][rows-i-1] digInterMat[i][rows-i-1] = temp } fmt.Println("*** The Matrix Items after Interchanging Diagonals ***") for i = 0; i < rows; i++ { for j = 0; j < columns; j++ { fmt.Print(digInterMat[i][j], " ") } fmt.Println() } } else { fmt.Println("The Given Matrix is Not a Square Matrix") } }
Enter the Matrix rows and Columns = 2 2
Enter Matrix Items to Interchange diagonals =
1 2
9 8
*** The Matrix Items after Interchanging Diagonals ***
2 1
8 9
Golang Program to Interchange Matrix Diagonals using the For loop range
We removed the extra If else to check for square Matrix because we initialized the Matrix as 3 * 3.
package main import "fmt" func main() { var temp int var digInterMat [3][3]int fmt.Println("Enter Matrix Items to Interchange diagonals = ") for i, rows := range digInterMat { for j := range rows { fmt.Scan(&digInterMat[i][j]) } } for i := range digInterMat { temp = digInterMat[i][i] digInterMat[i][i] = digInterMat[i][3-i-1] //rows = 3 digInterMat[i][3-i-1] = temp } fmt.Println("*** The Matrix Items after Interchanging Diagonals ***") for i, rows := range digInterMat { for j := range rows { fmt.Print(digInterMat[i][j], " ") } fmt.Println() } }