Given a square matrix and the task is to check the matrix is in upper triangular form or not. A square matrix is called upper triangular if all the entries below the main diagonal are zero.

Examples:
Input : mat[4][4] = {{1, 3, 5, 3},
{0, 4, 6, 2},
{0, 0, 2, 5},
{0, 0, 0, 6}};
Output : Matrix is in Upper Triangular form.
Input : mat[4][4] = {{5, 6, 3, 6},
{0, 4, 6, 6},
{1, 0, 8, 5},
{0, 1, 0, 6}};
Output : Matrix is not in Upper Triangular form.
Implementation:
C++
#include <bits/stdc++.h>
#define N 4
using namespace std;
bool isUpperTriangularMatrix( int mat[N][N])
{
for ( int i = 1; i < N; i++)
for ( int j = 0; j < i; j++)
if (mat[i][j] != 0)
return false ;
return true ;
}
int main()
{
int mat[N][N] = { { 1, 3, 5, 3 },
{ 0, 4, 6, 2 },
{ 0, 0, 2, 5 },
{ 0, 0, 0, 6 } };
if (isUpperTriangularMatrix(mat))
cout << "Yes" ;
else
cout << "No" ;
return 0;
}
|
Java
import java.util.*;
import java.lang.*;
public class GfG
{
private static final int N = 4 ;
public static Boolean isUpperTriangularMatrix( int mat[][])
{
for ( int i = 1 ; i < N ; i++)
for ( int j = 0 ; j < i; j++)
if (mat[i][j] != 0 )
return false ;
return true ;
}
public static void main(String argc[]){
int [][] mat= { { 1 , 3 , 5 , 3 },
{ 0 , 4 , 6 , 2 },
{ 0 , 0 , 2 , 5 },
{ 0 , 0 , 0 , 6 } };
if (isUpperTriangularMatrix(mat))
System.out.println( "Yes" );
else
System.out.println( "No" );
}
}
|
Python3
def isuppertriangular(M):
for i in range ( 1 , len (M)):
for j in range ( 0 , i):
if (M[i][j] ! = 0 ):
return False
return True
M = [[ 1 , 3 , 5 , 3 ],
[ 0 , 4 , 6 , 2 ],
[ 0 , 0 , 2 , 5 ],
[ 0 , 0 , 0 , 6 ]]
if isuppertriangular(M):
print ( "Yes" )
else :
print ( "No" )
|
C#
using System;
public class GfG
{
private static int N = 4;
public static bool isUpperTriangularMatrix( int [,]mat)
{
for ( int i = 1; i < N ; i++)
for ( int j = 0; j < i; j++)
if (mat[i, j] != 0)
return false ;
return true ;
}
public static void Main(){
int [,]mat= { { 1, 3, 5, 3 },
{ 0, 4, 6, 2 },
{ 0, 0, 2, 5 },
{ 0, 0, 0, 6 } };
if (isUpperTriangularMatrix(mat))
Console.WriteLine( "Yes" );
else
Console.WriteLine( "No" );
}
}
|
PHP
<?php
$N = 4;
function isUpperTriangularMatrix( $mat )
{
global $N ;
for ( $i = 1; $i < $N ; $i ++)
for ( $j = 0; $j < $i ; $j ++)
if ( $mat [ $i ][ $j ] != 0)
return false;
return true;
}
$mat = array ( array (1, 3, 5, 3),
array (0, 4, 6, 2) ,
array (0, 0, 2, 5),
array (0, 0, 0, 6));
if (isUpperTriangularMatrix( $mat ))
echo "Yes" ;
else
echo "No" ;
?>
|
Javascript
<script>
let N = 4;
function isUpperTriangularMatrix(mat)
{
for (let i = 1; i < N ; i++)
for (let j = 0; j < i; j++)
if (mat[i][j] != 0)
return false ;
return true ;
}
let mat= [[1, 3, 5, 3 ],
[ 0, 4, 6, 2 ],
[ 0, 0, 2, 5 ],
[ 0, 0, 0, 6 ]];
if (isUpperTriangularMatrix(mat))
document.write( "Yes" );
else
document.write( "No" );
</script>
|
Time Complexity: O(n2), where n represents the number of rows and columns of the matrix.
Auxiliary Space: O(1), no extra space is required, so it is a constant.
Please Login to comment...