Program to swap upper diagonal elements with lower diagonal elements of matrix.
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
Below is the implementation of above idea :
C++
#include <bits/stdc++.h>
#define n 4
using namespace std;
void swapUpperToLower( int arr[n][n])
{
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;
}
}
for ( int i = 0; i < n; i++) {
for ( int j = 0; j < n; j++)
cout << arr[i][j] << " " ;
cout << endl;
}
}
int main()
{
int arr[n][n] = { { 2, 3, 5, 6 },
{ 4, 5, 7, 9 },
{ 8, 6, 4, 9 },
{ 1, 3, 5, 6 } };
swapUpperToLower(arr);
return 0;
}
|
Java
import java.io.*;
class GFG
{
static int n = 4 ;
static void swapUpperToLower( int arr[][])
{
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;
}
}
for ( int i = 0 ; i < n; i++)
{
for ( int j = 0 ; j < n; j++)
System.out.print( arr[i][j] + " " );
System.out.println();
}
}
public static void main (String[] args)
{
int arr[][] = { { 2 , 3 , 5 , 6 },
{ 4 , 5 , 7 , 9 },
{ 8 , 6 , 4 , 9 },
{ 1 , 3 , 5 , 6 } };
swapUpperToLower(arr);
}
}
|
Python 3
def swapUpperToLower(arr):
n = 4 ;
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;
for i in range ( 0 , n):
for j in range ( 0 , n):
print (arr[i][j], end = " " );
print ( " " );
arr = [[ 2 , 3 , 5 , 6 ],[ 4 , 5 , 7 , 9 ],
[ 8 , 6 , 4 , 9 ],[ 1 , 3 , 5 , 6 ]];
swapUpperToLower(arr);
|
C#
using System;
class GFG
{
static int n = 4;
static void swapUpperToLower( int [,]arr)
{
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;
}
}
for ( int i = 0; i < n; i++)
{
for ( int j = 0; j < n; j++)
Console.Write(arr[i, j] + " " );
Console.WriteLine();
}
}
public static void Main ()
{
int [,]arr = {{ 2, 3, 5, 6 },
{ 4, 5, 7, 9 },
{ 8, 6, 4, 9 },
{ 1, 3, 5, 6 }};
swapUpperToLower(arr);
}
}
|
PHP
<?php
$n = 4;
function swapUpperToLower( $arr )
{
global $n ;
for ( $i = 0; $i < $n ; $i ++)
{
for ( $j = $i + 1; $j < $n ; $j ++)
{
$temp = $arr [ $i ][ $j ];
$arr [ $i ][ $j ] = $arr [ $j ][ $i ];
$arr [ $j ][ $i ] = $temp ;
}
}
for ( $i = 0; $i < $n ; $i ++)
{
for ( $j = 0; $j < $n ; $j ++)
echo ( $arr [ $i ][ $j ] . " " );
echo ( "\n" );
}
}
$arr = array ( array (2, 3, 5, 6),
array (4, 5, 7, 9),
array (8, 6, 4, 9),
array (1, 3, 5, 6));
swapUpperToLower( $arr );
?>
|
Javascript
<script>
var arr = [ [ 2, 3, 5, 6 ],
[ 4, 5, 7, 9 ],
[ 8, 6, 4, 9 ],
[ 1, 3, 5, 6 ]
];
var n = arr.length;
for ( var i = 0; i < n; i++)
{
for ( var j = i + 1; j < n; j++)
{
var temp = arr[i][j];
arr[i][j] = arr[j][i];
arr[j][i] = temp;
}
}
for ( var i = 0; i < n; i++) {
for ( var j = 0; j < n; j++)
{
document.write( arr[i][j] + " " );
}
document.write( "<br>" );
}
</script>
|
Javascript
<script>
let n = 4;
function swapUpperToLower(arr)
{
for (let i = 0; i < n; i++)
{
for (let j = i + 1; j < n; j++)
{
let temp = arr[i][j];
arr[i][j] = arr[j][i];
arr[j][i] = temp;
}
}
for (let i = 0; i < n; i++)
{
for (let j = 0; j < n; j++)
document.write( arr[i][j] + " " );
document.write( "<br>" );
}
}
let arr = [[2, 3, 5, 6 ],
[ 4, 5, 7, 9 ],
[ 8, 6, 4, 9 ],
[ 1, 3, 5, 6 ]];
swapUpperToLower(arr);
</script>
|
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)
Last Updated :
25 Jul, 2022
Like Article
Save Article
Share your thoughts in the comments
Please Login to comment...