Print lower triangular matrix pattern from given array
Last Updated :
20 Feb, 2023
Given an array, print the array in 2D form where upper triangle has values 0 and lower triangle has values increasing prefix sizes (First row has prefix of size 1, second row has prefix of size 2, ..)
Examples :
Input : 1 2 3 4 5
Output : 1 0 0 0 0
1 2 0 0 0
1 2 3 0 0
1 2 3 4 0
1 2 3 4 5
Input : 1 2 3
Output : 1 0 0
1 2 0
1 2 3
C++
#include <bits/stdc++.h>
using namespace std;
void printPattern( int arr[], int n)
{
int b[n][n];
for ( int i = 0; i < n; i++)
{
for ( int j = 0; j < n; j++)
if (i >= j)
b[i][j] = arr[j];
else
b[i][j] = 0;
}
for ( int i = 0; i < n; i++)
{
for ( int j = 0; j < n; j++)
cout << b[i][j] << " " ;
cout << endl;
}
}
int main()
{
int arr[] = { 1, 2, 3, 4, 5 };
int n = sizeof (arr) / sizeof (arr[0]);
printPattern(arr, n);
return 0;
}
|
Java
import java.io.*;
class GFG
{
static void printPattern( int arr[], int n)
{
int b[][] = new int [n][n];
for ( int i = 0 ; i < n; i++)
{
for ( int j = 0 ; j < n; j++)
if (i >= j)
b[i][j] = arr[j];
else
b[i][j] = 0 ;
}
for ( int i = 0 ; i < n; i++)
{
for ( int j = 0 ; j < n; j++)
System.out.print(b[i][j] + " " );
System.out.println();
}
}
public static void main (String[] args)
{
int arr[] = { 1 , 2 , 3 , 4 , 5 };
int n = arr.length;
printPattern(arr, n);
}
}
|
Python3
def printPattern(arr, n):
b = [[ 0 for i in range (n)]
for i in range (n)]
for i in range ( 0 , n):
for j in range ( 0 , n):
if (i > = j):
b[i][j] = arr[j];
else :
b[i][j] = 0 ;
for i in range ( 0 , n):
for j in range ( 0 , n):
print (b[i][j], end = " " );
print ();
arr = [ 1 , 2 , 3 , 4 , 5 ];
n = len (arr);
printPattern(arr, n);
|
C#
using System;
namespace Array
{
public class GFG
{
static void printPattern( int []arr, int n)
{
int [,] b = new int [n,n];
for ( int i = 0; i < n; i++)
{
for ( int j = 0; j < n; j++)
if (i >= j)
b[i,j] = arr[j];
else
b[i,j] = 0;
}
for ( int i = 0; i < n; i++)
{
for ( int j = 0; j < n; j++)
Console.Write(b[i,j] + " " );
Console.WriteLine();
}
}
public static void Main()
{
int []arr = { 1, 2, 3, 4, 5 };
int n = arr.Length;
printPattern(arr, n);
}
}
}
|
PHP
<?php
function printPattern( array $arr , $n )
{
$b ;
for ( $i = 0; $i < $n ; $i ++)
{
for ( $j = 0; $j < $n ; $j ++)
if ( $i >= $j )
$b [ $i ][ $j ] = $arr [ $j ];
else
$b [ $i ][ $j ] = 0;
}
for ( $i = 0; $i < $n ; $i ++)
{
for ( $j = 0; $j < $n ; $j ++)
echo $b [ $i ][ $j ]. " " ;
echo "\n" ;
}
}
$arr = array (1, 2, 3, 4, 5);
$n = sizeof( $arr ) / sizeof( $arr [0]);
printPattern( $arr , $n );
?>
|
Javascript
<script>
function printPattern(arr, n)
{
var b = Array.from(Array(n), ()=>Array(n));
for ( var i = 0; i < n; i++)
{
for ( var j = 0; j < n; j++)
if (i >= j)
b[i][j] = arr[j];
else
b[i][j] = 0;
}
for ( var i = 0; i < n; i++)
{
for ( var j = 0; j < n; j++)
document.write( b[i][j] + " " );
document.write( "<br>" );
}
}
var arr = [1, 2, 3, 4, 5];
var n = arr.length;
printPattern(arr, n);
</script>
|
Output:
1 0 0 0 0
1 2 0 0 0
1 2 3 0 0
1 2 3 4 0
1 2 3 4 5
Time complexity: O(n^2) for given n, where n is size of given array
Auxiliary space: O(n^2)
Like Article
Suggest improvement
Share your thoughts in the comments
Please Login to comment...