Print the matrix diagonally downwards

20 Jun, 2022
Given a matrix of size n*n, print the matrix in the following pattern. 
Output: 1 2 5 3 6 9 4 7 10 13 8 11 14 12 15 16Examples: 
Input :matrix[2][2]= { {1, 2},
                       {3, 4} }
Output : 1 2 3 4

Input :matrix[3][3]= { {1, 2, 3},
                       {4, 5, 6},
                       {7, 8, 9} }
Output : 1 2 4 3 5 7 6 8 9
Following is the C++ implementation for the above pattern.  
C++
Java
Python 3
C#
Javascript
// CPP program to print matrix downward#include <bits/stdc++.h>using namespace std; void printMatrixDiagonallyDown(vector<vector<int> > matrix,                                                    int n){    // printing elements above and on    // second diagonal    for (int k = 0; k < n; k++) {         // traversing downwards starting        // from first row        int row = 0, col = k;        while (col >= 0) {            cout << matrix[row][col] << " ";            row++, col--;        }    }     // printing elements below second    // diagonal    for (int j = 1; j < n; j++) {         // traversing downwards starting        // from last column        int col = n - 1, row = j;        while (row < n) {            cout << matrix[row][col] << " ";            row++, col--;        }    }} int main(){    vector<vector<int> > matrix{ { 1, 2, 3 },                                 { 4, 5, 6 },                                 { 7, 8, 9 } };    int n = 3;    printMatrixDiagonallyDown(matrix, n);    return 0;}
// JAVA program to print// matrix downwardclass GFG{static void printMatrixDiagonallyDown(int[][] matrix,                                      int n){  // printing elements above and on  // second diagonal  for (int k = 0; k < n; k++)  {    // traversing downwards    // starting from first row    int row = 0, col = k;    while (col >= 0)    {      System.out.print(matrix[row][col] + " ");      row++;      col--;    }  }   // printing elements below  // second diagonal  for (int j = 1; j < n; j++)  {    // traversing downwards starting    // from last column    int col = n - 1, row = j;    while (row < n)    {      System.out.print(matrix[row][col] + " ");      row++;      col--;    }  }} // Driver codepublic static void main(String[] args){  int[][] matrix = {{1, 2, 3},                    {4, 5, 6},                    {7, 8, 9}};  int n = 3;  printMatrixDiagonallyDown(matrix, n);}} // This code is contributed by Rajput-Ji
# Python 3 program to print matrix downward def printMatrixDiagonallyDown(matrix,n):    # printing elements above and on    # second diagonal    for k in range(n):        # traversing downwards starting        # from first row        row = 0        col = k        while (col >= 0):            print(matrix[row][col],end = " ")            row += 1            col -= 1     # printing elements below second    # diagonal    for j in range(1,n):        # traversing downwards starting        # from last column        col = n - 1        row = j        while (row < n):            print(matrix[row][col],end = " ")            row += 1            col -= 1 if __name__ == '__main__':    matrix = [[1, 2, 3],[4, 5, 6],[7, 8, 9]]    n = 3    printMatrixDiagonallyDown(matrix, n) # This code is contributed by Surendra_Gangwar
// C# program to print// matrix downwardusing System;class GFG{static void printMatrixDiagonallyDown(int[,] matrix,                                      int n){  // printing elements above and on  // second diagonal  for (int k = 0; k < n; k++)  {    // traversing downwards    // starting from first row    int row = 0, col = k;         while (col >= 0)    {      Console.Write(matrix[row,col] + " ");      row++;      col--;    }  }   // printing elements below  // second diagonal  for (int j = 1; j < n; j++)  {    // traversing downwards starting    // from last column    int col = n - 1, row = j;    while (row < n)    {      Console.Write(matrix[row,col] + " ");      row++;      col--;    }  }} // Driver codepublic static void Main(String[] args){  int[,] matrix = {{1, 2, 3},                   {4, 5, 6},                   {7, 8, 9}};  int n = 3;  printMatrixDiagonallyDown(matrix, n);}} // This code is contributed by Amit Katiyar
<script> // JavaScript program to print// matrix downwardfunction printMatrixDiagonallyDown(matrix,n){// printing elements above and on// second diagonalfor (let k = 0; k < n; k++){    // traversing downwards    // starting from first row    let row = 0, col = k;    while (col >= 0)    {    document.write(matrix[row][col] + " ");    row++;    col--;    }} // printing elements below// second diagonalfor (let j = 1; j < n; j++){    // traversing downwards starting    // from last column    let col = n - 1, row = j;    while (row < n)    {    document.write(matrix[row][col] + " ");    row++;    col--;    }}} // Driver code let matrix = [[1, 2, 3],                    [4, 5, 6],                    [7, 8, 9]];let n = 3;printMatrixDiagonallyDown(matrix, n); // This code is contributed by sravan kumar </script>
Output:  
1 2 4 3 5 7 6 8 9
Time Complexity: O(n2) 
Auxiliary Space: 1
pqrss
SURENDRA_GANGWAR
Rajput-Ji
amit143katiyar
sravankumar8128
technophpfij
pattern-printing
Matrix
pattern-printing
Matrix
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.