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

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 contain elements below principle diagonal including principle diagonal elements and rest of the elements are 0.
• Upper triangular matrix is a matrix which contain elements above principle diagonal including principle diagonal elements and rest of the elements are 0.

LOWER TRIANGULAR :

UPPER TIRANGULAR :

Examples :

Input : matrix = {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 = {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.

## Recommended: Please try your approach on {IDE} first, before moving on to the solution.

 // C++ program to print Lower   // triangular and Upper triangular  // matrix of an array  #include     using namespace std;     // Function to form   // lower triangular matrix  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)              {                  cout << "0" << " ";              }              else             cout << matrix[i][j] << " ";          }          cout << endl;      }  }     // Function to form upper triangular marix  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)              {                  cout << "0" << " ";              }              else             cout << matrix[i][j] << " ";          }          cout << endl;      }  }     // Driver Code  int main()  {      int matrix = {{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 program to print Lower   // triangular and Upper triangular  // matrix of an array  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)                  {                      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 program to print Lower   # triangular and Upper triangular  # matrix of an array     # Function to form lower triangular   # matrix  def 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 marix  def 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 Code  matrix = [[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# program to print    // Lower triangular and  // Upper triangular  // matrix of an array  using 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

  $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  ?>

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 contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.