[19 Feb 2020] Program to print the Diagonals of a Matrix

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
// C++ Program to print the Diagonals of a Matrix
  
#include <bits/stdc++.h>
using namespace std;
  
const int MAX = 100;
  
// Function to print the Principal Diagonal
void printPrincipalDiagonal(int mat[][MAX], int n)
{
    cout << "Principal Diagonal: ";
  
    for (int i = 0; i < n; i++) {
        for (int j = 0; j < n; j++) {
  
            // Condition for principal diagonal
            if (i == j)
                cout << mat[i][j] << ", ";
        }
    }
    cout << endl;
}
  
// Function to print the Secondary Diagonal
void printSecondaryDiagonal(int mat[][MAX], int n)
{
    cout << "Secondary Diagonal: ";
  
    for (int i = 0; i < n; i++) {
        for (int j = 0; j < n; j++) {
  
            // Condition for secondary diagonal
            if ((i + j) == (n - 1))
                cout << mat[i][j] << ", ";
        }
    }
    cout << endl;
}
  
// Driver code
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,

// Java Program to print the Diagonals of a Matrix
class GFG 
{
    static int MAX = 100;
  
    // Function to print the Principal Diagonal
    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++) 
            {
  
                // Condition for principal diagonal
                if (i == j)
                {
                    System.out.print(mat[i][j] + ", ");
                }
            }
        }
        System.out.println("");
    }
  
    // Function to print the Secondary Diagonal
    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++) 
            {
  
                // Condition for secondary diagonal
                if ((i + j) == (n - 1)) 
                {
                    System.out.print(mat[i][j] + ", ");
                }
            }
        }
        System.out.println("");
    }
  
    // Driver code
    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);
    }
}
  
// This code is contributed by Rajput-Ji
Output:
Principal Diagonal: 1, 6, 3, 8, 
Secondary Diagonal: 4, 7, 2, 5,
# Python3 Program to prthe Diagonals of a Matrix
MAX = 100
  
# Function to prthe Principal Diagonal
def printPrincipalDiagonal(mat, n):
    print("Principal Diagonal: ", end = "")
  
    for i in range(n):
        for j in range(n):
  
            # Condition for principal diagonal
            if (i == j):
                print(mat[i][j], end = ", ")
    print()
  
# Function to prthe Secondary Diagonal
def printSecondaryDiagonal(mat, n):
    print("Secondary Diagonal: ", end = "")
  
    for i in range(n):
        for j in range(n):
  
            # Condition for secondary diagonal
            if ((i + j) == (n - 1)):
                print(mat[i][j], end = ", ")
    print()
  
# Driver code
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)
  
# This code is contributed by Mohit Kumar
Output:
Principal Diagonal: 1, 6, 3, 8, 
Secondary Diagonal: 4, 7, 2, 5,













Comments

Popular posts from this blog

Important Program Collection

[16 Feb 2020] Given an array where every element occurs three times, except one element which occurs only once.

Which data structure is used in redo-undo feature?