# Program to print Lower triangular and Upper triangular matrix of an array

• Difficulty Level : Easy
• Last Updated : 01 Sep, 2021

Prerequisite – Multidimensional Arrays in C / C++
Given a two dimensional array, Write a program to print lower triangular matrix and upper triangular matrix.

• Lower triangular matrix is a matrix which contains elements below principle diagonal including principle diagonal elements and rest of the elements are 0.
• Upper triangular matrix is a matrix which contains elements above principle diagonal including principle diagonal elements and rest of the elements are 0.

LOWER TRIANGULAR :

UPPER TRIANGULAR :

Examples :

Input : matrix[3][3] = {1 2 3
4 5 6
7 8 9}
Output :
Lower : 1 0 0        Upper : 1 2 3
4 5 0                0 5 6
7 8 9                0 0 9

Input : matrix[3][3] = {7 8 9
3 2 1
6 5 4}
Output :
Lower : 7 0 0       Upper : 7 8 9
3 2 0               0 2 1
6 5 4               0 0 4

Steps:

1. For lower triangular matrix, we check the index position i and j i.e row and column respectively. If column position is greater than row position we simply make that position 0.
2. For upper triangular matrix, we check the index position i and j i.e row and column respectively. If column position is smaller than row position we simply make that position 0.

## C++

 // C++ program to print Lower// triangular and Upper triangular// matrix of an array#include using namespace std; // Function to form// lower triangular matrixvoid lower(int matrix[3][3], int row, int col){    int i, j;    for (i = 0; i < row; i++)    {        for (j = 0; j < col; j++)        {            if (i < j)            {                cout << "0" << " ";            }            else            cout << matrix[i][j] << " ";        }        cout << endl;    }} // Function to form upper triangular matrixvoid upper(int matrix[3][3], int row, int col){    int i, j;         for (i = 0; i < row; i++)    {        for (j = 0; j < col; j++)        {            if (i > j)            {                cout << "0" << " ";            }            else            cout << matrix[i][j] << " ";        }        cout << endl;    }} // Driver Codeint main(){    int matrix[3][3] = {{1, 2, 3},                        {4, 5, 6},                        {7, 8, 9}};    int row = 3, col = 3;         cout << "Lower triangular matrix: \n";    lower(matrix, row, col);         cout << "Upper triangular matrix: \n";    upper(matrix, row, col);             return 0;}

## Java

 // Java program to print Lower// triangular and Upper triangular// matrix of an arrayclass GFG{    // method to form lower    // triangular matrix    static void lower(int matrix[][],                      int row, int col)    {        int i, j;        for (i = 0; i < row; i++)        {            for (j = 0; j < col; j++)            {                if (i < j)                {                    System.out.print("0" + " ");                }                else                System.out.print(matrix[i][j] + " ");            }            System.out.println();        }    }         // Method to form upper    // triangular matrix    static void upper(int matrix[][],                      int row, int col)    {        int i, j;        for (i = 0; i < row; i++)        {            for (j = 0; j < col; j++)            {                if (i > j)                {                    System.out.print("0" + " ");                }                else                System.out.print(matrix[i][j] + " ");            }            System.out.println();        }    }          // Driver Code    public static void main(String args[])    {        int matrix[][] = {{1, 2, 3},                          {4, 5, 6},                          {7, 8, 9}};        int row = 3, col = 3;                 System.out.println("Lower triangular matrix: ");        lower(matrix, row, col);                 System.out.println("Upper triangular matrix: ");        upper(matrix, row, col);    }}

## Python3

 # Python3 program to print Lower# triangular and Upper triangular# matrix of an array # Function to form lower triangular# matrixdef lower(matrix, row, col):          for i in range(0, row):             for j in range(0, col):                     if (i < j):                             print("0", end = " ");                         else:                print(matrix[i][j],                       end = " " );                 print(" ");     # Function to form upper triangular matrixdef upper(matrix, row, col):     for i in range(0, row):             for j in range(0, col):                     if (i > j):                print("0", end = " ");                         else:                print(matrix[i][j],                       end = " " );                 print(" "); # Driver Codematrix = [[1, 2, 3],          [4, 5, 6],          [7, 8, 9]];row = 3;col = 3;     print("Lower triangular matrix: ");lower(matrix, row, col);     print("Upper triangular matrix: ");upper(matrix, row, col);         # This code is contributed by# Shivi_Aggarwal

## C#

 // C# program to print // Lower triangular and// Upper triangular// matrix of an arrayusing System; class GFG{    // method to form lower    // triangular matrix    static void lower(int [,]matrix,                      int row, int col)    {        int i, j;        for (i = 0; i < row; i++)        {            for (j = 0; j < col; j++)            {                if (i < j)                {                    Console.Write("0" + " ");                }                else                Console.Write(matrix[i, j] + " ");            }            Console.WriteLine();        }    }         // Method to form upper    // triangular matrix    static void upper(int [,]matrix,                      int row, int col)    {        int i, j;        for (i = 0; i < row; i++)        {            for (j = 0; j < col; j++)            {                if (i > j)                {                    Console.Write("0" + " ");                }                else                Console.Write(matrix[i, j] + " ");            }        Console.WriteLine();        }    }         // Driver Code    static public void Main ()    {        int [,]matrix = {{1, 2, 3},                        {4, 5, 6},                        {7, 8, 9}};        int row = 3, col = 3;                 Console.WriteLine("Lower triangular matrix: ");        lower(matrix, row, col);                 Console.WriteLine("Upper triangular matrix: ");        upper(matrix, row, col);    }} // This code is contributed by ajit

## PHP

  $j) { echo "0" , " "; } else echo $matrix[$i][$j] ," ";        }    echo "\n";    }} // Driver Code$matrix = array (array (1, 2, 3), array (4, 5, 6), array (7, 8, 9));$row = 3; $col = 3; echo "Lower triangular matrix: \n";lower($matrix, $row, $col); echo "Upper triangular matrix: \n";upper($matrix, $row, \$col);     // This code is contributed by jit_t?>

## Javascript

 

Output :

Lower triangular matrix:
1 0 0
4 5 0
7 8 9
Upper triangular matrix:
1 2 3
0 5 6
0 0 9


This article is contributed by Rishabh Jain. If you like GeeksforGeeks and would like to contribute, you can also write an article using write.geeksforgeeks.org or mail your article to review-team@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.