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[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 matrix ` `void` `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 marix ` `void` `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 Code ` `int` `main() ` `{ ` `    ``int` `matrix[3][3] = {{1, 2, 3},  ` `                        ``{4, 5, 6},  ` `                        ``{7, 8, 9}}; ` `    ``int` `row = 3, col = 3; ` `     `  `    ``cout << ````"Lower triangular matrix: "````; ` `    ``lower(matrix, row, col); ` `     `  `    ``cout << ````"Upper triangular matrix: "````; ` `    ``upper(matrix, row, col); ` `         `  `    ``return` `0; ` `} `

Java

 `// 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

 `# 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#

 `// 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  `

PHP

 ` ``\$j``) ` `            ``{ ` `                ``echo` `"0"` `, ``" "``; ` `            ``} ` `            ``else` `            ``echo` `\$matrix``[``\$i``][``\$j``] ,``" "``; ` `        ``} ` `    ``echo` ```" "````; ` `    ``} ` `} ` ` `  `// Driver Code ` `\$matrix` `= ``array` `(``array` `(1, 2, 3), ` `                  ``array` `(4, 5, 6), ` `                 ``array` `(7, 8, 9)); ` `\$row` `= 3; ``\$col` `= 3; ` ` `  `echo` ```"Lower triangular matrix: "````; ` `lower(``\$matrix``, ``\$row``, ``\$col``); ` ` `  `echo` ```"Upper triangular matrix: "````; ` `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
```