Program to print the Diagonals of a Matrix
Given a 2D square matrix, print the Principal and Secondary diagonals.
Examples :
Input:
4
1 2 3 4
4 3 2 1
7 8 9 6
6 5 4 3
Output:
Principal Diagonal: 1, 3, 9, 3
Secondary Diagonal: 4, 3, 8, 6
Input:
3
1 1 1
1 1 1
1 1 1
Output:
Principal Diagonal: 1, 1, 1
Secondary Diagonal: 1, 1, 1
#include <bits/stdc++.h>
using namespace std;
const int MAX = 100;
void printPrincipalDiagonal( int mat[][MAX], int n)
{
cout << "Principal Diagonal: " ;
for ( int i = 0; i < n; i++) {
for ( int j = 0; j < n; j++) {
if (i == j)
cout << mat[i][j] << ", " ;
}
}
cout << endl;
}
void printSecondaryDiagonal( int mat[][MAX], int n)
{
cout << "Secondary Diagonal: " ;
for ( int i = 0; i < n; i++) {
for ( int j = 0; j < n; j++) {
if ((i + j) == (n - 1))
cout << mat[i][j] << ", " ;
}
}
cout << endl;
}
int main()
{
int n = 4;
int a[][MAX] = { { 1, 2, 3, 4 },
{ 5, 6, 7, 8 },
{ 1, 2, 3, 4 },
{ 5, 6, 7, 8 } };
printPrincipalDiagonal(a, n);
printSecondaryDiagonal(a, n);
return 0;
}
|
Output:Principal Diagonal: 1, 6, 3, 8,
Secondary Diagonal: 4, 7, 2, 5,
class GFG
{
static int MAX = 100 ;
static void printPrincipalDiagonal( int mat[][], int n)
{
System.out.print( "Principal Diagonal: " );
for ( int i = 0 ; i < n; i++)
{
for ( int j = 0 ; j < n; j++)
{
if (i == j)
{
System.out.print(mat[i][j] + ", " );
}
}
}
System.out.println( "" );
}
static void printSecondaryDiagonal( int mat[][], int n)
{
System.out.print( "Secondary Diagonal: " );
for ( int i = 0 ; i < n; i++)
{
for ( int j = 0 ; j < n; j++)
{
if ((i + j) == (n - 1 ))
{
System.out.print(mat[i][j] + ", " );
}
}
}
System.out.println( "" );
}
public static void main(String args[])
{
int n = 4 ;
int a[][] = {{ 1 , 2 , 3 , 4 },
{ 5 , 6 , 7 , 8 },
{ 1 , 2 , 3 , 4 },
{ 5 , 6 , 7 , 8 }};
printPrincipalDiagonal(a, n);
printSecondaryDiagonal(a, n);
}
}
|
Output:Principal Diagonal: 1, 6, 3, 8,
Secondary Diagonal: 4, 7, 2, 5,
MAX = 100
def printPrincipalDiagonal(mat, n):
print ( "Principal Diagonal: " , end = "")
for i in range (n):
for j in range (n):
if (i = = j):
print (mat[i][j], end = ", " )
print ()
def printSecondaryDiagonal(mat, n):
print ( "Secondary Diagonal: " , end = "")
for i in range (n):
for j in range (n):
if ((i + j) = = (n - 1 )):
print (mat[i][j], end = ", " )
print ()
n = 4
a = [[ 1 , 2 , 3 , 4 ],
[ 5 , 6 , 7 , 8 ],
[ 1 , 2 , 3 , 4 ],
[ 5 , 6 , 7 , 8 ]]
printPrincipalDiagonal(a, n)
printSecondaryDiagonal(a, n)
|
Output:Principal Diagonal: 1, 6, 3, 8,
Secondary Diagonal: 4, 7, 2, 5,
Comments
Post a Comment