交换方阵的主次对角线

给定一个方阵,交换主对角线和次对角线的元素。

null

矩阵的主要对角线元素: 主要对角线元素是从矩阵左上角到右下角出现的元素。主对角线也称为主对角线或主对角线。 矩阵的次对角元素: 次要对角线元素是从矩阵右上角到左下角出现的元素。也称为次对角线。

例子:

Input : 0 1 2        3 4 5        6 7 8Output : 2 1 0         3 4 5         8 7 6

方法: 我们应该知道的一件简单的事情是,主对角线或主对角线的索引是相同的,即假设A是矩阵,那么A[1][1]将是主对角线元素,并且次对角线的索引之和等于矩阵的大小。假设A是一个大小为3的矩阵,那么A[1][2]将是次对角元素。 以下是上述方法的实施情况:

C++

// CPP Program to swap diagonal of a matrix
#include <bits/stdc++.h>
using namespace std;
// size of square matrix
#define N 3
// Function to swap diagonal of matrix
void swapDiagonal( int matrix[][N]) {
for ( int i = 0; i < N; i++)
swap(matrix[i][i], matrix[i][N - i - 1]);
}
// Driver Code
int main() {
int matrix[N][N] = {{0, 1, 2},
{3, 4, 5},
{6, 7, 8}};
swapDiagonal(matrix);
// Displaying modified matrix
for ( int i = 0; i < N; i++) {
for ( int j = 0; j < N; j++)
cout << matrix[i][j] << " " ;
cout << endl;
}
return 0;
}


JAVA

// Java implementation to swap
// diagonal of a matrix
import java.io.*;
class Gfg {
static int N = 3 ;
// Function to swap diagonal of matrix
static void swapDiagonal( int matrix[][]) {
for ( int i = 0 ; i < N; i++) {
int temp = matrix[i][i];
matrix[i][i] = matrix[i][N - i - 1 ];
matrix[i][N - i - 1 ] = temp;
}
}
// Driver function
public static void main(String arg[]) {
int matrix[][] = {{ 0 , 1 , 2 },
{ 3 , 4 , 5 },
{ 6 , 7 , 8 }};
swapDiagonal(matrix);
// Displaying modified matrix
for ( int i = 0 ; i < N; i++) {
for ( int j = 0 ; j < N; j++)
System.out.print(matrix[i][j] + " " );
System.out.println();
}
}
}
// This code is contributed by Anant Agarwal.


Python3

# Python3 Program to swap diagonal of a matrix
# size of square matrix
N = 3
# Function to swap diagonal of matrix
def swapDiagonal(matrix):
for i in range (N):
matrix[i][i], matrix[i][N - i - 1 ] =
matrix[i][N - i - 1 ], matrix[i][i]
# Driver Code
matrix = [[ 0 , 1 , 2 ],
[ 3 , 4 , 5 ],
[ 6 , 7 , 8 ]]
# swap diagonals of matrix
swapDiagonal(matrix);
# Displaying modified matrix
for i in range (N):
for j in range (N):
print (matrix[i][j], end = ' ' )
print ()


C#

// C# implementation to swap
// diagonal of a matrix
using System;
class Gfg {
static int N = 3;
// Function to swap diagonal of matrix
static void swapDiagonal( int [,]matrix) {
for ( int i = 0; i < N; i++) {
int temp = matrix[i,i];
matrix[i,i] = matrix[i,N - i - 1];
matrix[i,N - i - 1] = temp;
}
}
// Driver function
public static void Main() {
int [,]matrix = {{0, 1, 2},
{3, 4, 5},
{6, 7, 8}};
swapDiagonal(matrix);
// Displaying modified matrix
for ( int i = 0; i < N; i++) {
for ( int j = 0; j < N; j++)
Console.Write(matrix[i,j] + " " );
Console.WriteLine();
}
}
}
// This code is contributed by vt_m.


PHP

<?php
// PHP Program to swap
// diagonal of a matrix
// size of square matrix
$N = 3;
// Function to swap
// diagonal of matrix
function swapDiagonal( $matrix )
{
global $N ;
for ( $i = 0; $i < $N ; $i ++)
{
$tmp = $matrix [ $i ][ $i ];
$matrix [ $i ][ $i ] = $matrix [ $i ][ $N - $i - 1];
$matrix [ $i ][ $N - $i - 1] = $tmp ;
}
// Displaying modified matrix
for ( $i = 0; $i < $N ; $i ++)
{
for ( $j = 0; $j < $N ; $j ++)
echo $matrix [ $i ][ $j ] . " " ;
echo "" ;
}
}
// Driver Code
$matrix = array ( array (0, 1, 2),
array (3, 4, 5),
array (6, 7, 8));
swapDiagonal( $matrix );
// This code is contributed by mits
?>


Javascript

<script>
// JavaScript program to swap
// diagonal of a matrix.
// size of square matrix
let N = 3;
// Function to swap diagonal of matrix
function swapDiagonal(matrix) {
for (let i = 0; i < N; i++) {
let temp = matrix[i][i];
matrix[i][i] = matrix[i][N - i - 1];
matrix[i][N - i - 1] = temp;
}
}
// Driver code
let matrix = [[0, 1, 2],
[3, 4, 5],
[6, 7, 8]];
swapDiagonal(matrix);
// Displaying modified matrix
for (let i = 0; i < N; i++) {
for (let j = 0; j < N; j++)
document.write(matrix[i][j] + " " );
document.write( "<br/>" );
}
</script>


输出:

2 1 03 4 58 7 6

© 版权声明
THE END
喜欢就支持一下吧
点赞7 分享