# Program to swap upper diagonal elements with lower diagonal elements of matrix.

Last Updated : 25 Jul, 2022

Given a square matrix, swap upper diagonal elements of matrix with lower diagonal elements of matrix.

Examples :

Input:   2  3  5  6
4  5  7  9
8  6  4  9
1  3  5  6

Output:  2  4  8  1
3  5  6  3
5  7  4  5
6  9  9  6

Input:   1  2  3
4  5  6
7  8  9

Output:  1  4  7
2  5  8
3  6  9
Recommended Practice

Below is the implementation of above idea :

## C++

 // CPP Program to implement matrix // for swapping the upper diagonal // elements with lower diagonal // elements of matrix. #include #define n 4 using namespace std;   // Function to swap the diagonal // elements in a matrix. void swapUpperToLower(int arr[n][n]) {     // Loop for swap the elements of matrix.     for (int i = 0; i < n; i++) {         for (int j = i + 1; j < n; j++) {             int temp = arr[i][j];             arr[i][j] = arr[j][i];             arr[j][i] = temp;         }     }           // Loop for print the matrix elements.     for (int i = 0; i < n; i++) {         for (int j = 0; j < n; j++)             cout << arr[i][j] << " ";         cout << endl;     } }   // Driver function to run the program int main() {     int arr[n][n] = { { 2, 3, 5, 6 },                     { 4, 5, 7, 9 },                     { 8, 6, 4, 9 },                     { 1, 3, 5, 6 } };       // Function call     swapUpperToLower(arr);     return 0; }

## Java

 // java Program to implement matrix // for swapping the upper diagonal // elements with lower diagonal // elements of matrix. import java.io.*;   class GFG {     static int n = 4;           // Function to swap the diagonal     // elements in a matrix.     static void swapUpperToLower(int arr[][])     {         // Loop for swap the elements of matrix.         for (int i = 0; i < n; i++)         {             for (int j = i + 1; j < n; j++)             {                 int temp = arr[i][j];                 arr[i][j] = arr[j][i];                 arr[j][i] = temp;             }         }                   // Loop for print the matrix elements.         for (int i = 0; i < n; i++)         {             for (int j = 0; j < n; j++)                 System.out.print( arr[i][j] +" ");                 System.out.println();         }               }           // Driver code     public static void main (String[] args)     {         int arr[][] = { { 2, 3, 5, 6 },                         { 4, 5, 7, 9 },                         { 8, 6, 4, 9 },                         { 1, 3, 5, 6 } };           // Function call         swapUpperToLower(arr);                   } }   // This code is contributed by vt_m.

## Python 3

 # Python Program to implement matrix # for swapping the upper diagonal # elements with lower diagonal # elements of matrix.   # Function to swap the diagonal # elements in a matrix. def swapUpperToLower(arr):     n = 4;           # Loop for swap the elements     # of matrix.     for i in range(0, n):         for j in range(i + 1, n):             temp = arr[i][j];             arr[i][j] = arr[j][i];             arr[j][i] = temp;               # Loop for print the matrix elements.     for i in range(0, n):         for j in range(0, n):             print(arr[i][j], end = " ");         print(" ");       # Driver Code   arr = [[2, 3, 5, 6 ],[ 4, 5, 7, 9 ],        [8, 6, 4, 9 ],[ 1, 3, 5, 6 ]];   # Function call swapUpperToLower(arr);   # This code is contributed # by Shivi_Aggarwal

## C#

 // C# Program to implement matrix // for swapping the upper diagonal // elements with lower diagonal // elements of matrix. using System;   class GFG {     static int n = 4;           // Function to swap the diagonal     // elements in a matrix.     static void swapUpperToLower(int [,]arr)     {         // Loop for swap the elements of matrix.         for (int i = 0; i < n; i++)         {             for (int j = i + 1; j < n; j++)             {                 int temp = arr[i, j];                 arr[i, j] = arr[j, i];                 arr[j, i] = temp;             }         }                   // Loop for print the matrix elements.         for (int i = 0; i < n; i++)         {             for (int j = 0; j < n; j++)                 Console.Write(arr[i, j] +" ");                 Console.WriteLine();         }               }           // Driver code     public static void Main ()     {         int [,]arr = {{ 2, 3, 5, 6 },                       { 4, 5, 7, 9 },                       { 8, 6, 4, 9 },                       { 1, 3, 5, 6 }};           // Function call         swapUpperToLower(arr);                   } }   // This code is contributed by vt_m.





## Javascript



Output

2 4 8 1
3 5 6 3
5 7 4 5
6 9 9 6

Time Complexity: O(N2)
Auxiliary Space: O(1)