Open In App

Print lower triangular matrix pattern from given array

Last Updated : 20 Feb, 2023
Improve
Improve
Like Article
Like
Save
Share
Report

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++




// C++ implementation to print
// given array in 2D form
#include <bits/stdc++.h>
using namespace std;
  
// Function to print pattern
void printPattern(int arr[], int n)
{
    // array to store the final output
    int b[n][n];
    for (int i = 0; i < n; i++)
    {
       for (int j = 0; j < n; j++)
         
       // if i > j then insert arr[j] 
       // in 2D array b[i][j]
       if (i >= j)
          b[i][j] = arr[j];
  
       else
         
          // insert zero in array b[i][j]
          b[i][j] = 0;
    }
  
    // printing pattern in 2-D array i.e,
    // printing 2D array b[i][j]
    for (int i = 0; i < n; i++)
    {
      for (int j = 0; j < n; j++)
         cout << b[i][j] << " ";
      cout << endl;
    }
}
  
// Driver code
int main()
{
    int arr[] = { 1, 2, 3, 4, 5 };
    int n = sizeof(arr) / sizeof(arr[0]);
    printPattern(arr, n);
    return 0;
}


Java




// Java implementation to print
// given array in 2D form
import java.io.*;
  
class GFG 
{
    // Function to print pattern
    static void printPattern(int arr[], int n)
    {
        // array to store the final output
        int b[][] = new int[n][n];
        for (int i = 0; i < n; i++)
        {
            for (int j = 0; j < n; j++)
                  
                // if i > j then insert arr[j] 
                // in 2D array b[i][j]
                if (i >= j)
                    b[i][j] = arr[j];
              
                else
                      
                    // insert zero in array b[i][j]
                    b[i][j] = 0;
        }
      
        // printing pattern in 2-D array i.e,
        // printing 2D array b[i][j]
        for (int i = 0; i < n; i++)
        {
            for (int j = 0; j < n; j++)
                System.out.print(b[i][j] +" ");
            System.out.println();
        }
    }
  
    // Driver code
    public static void main (String[] args) 
    {
        int arr[] = { 1, 2, 3, 4, 5 };
        int n = arr.length;
        printPattern(arr, n);
          
    }
}
// This code is contributed by vt_m.


Python3




# Python3 implementation to print
# given array in 2D form
  
# Function to print pattern
def printPattern(arr, n):
  
    # array to store the final output
    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 then insert arr[j] 
        # in 2D array b[i][j]
            if (i >= j):
                b[i][j] = arr[j];
  
            else:
          
                # insert zero in array b[i][j]
                b[i][j] = 0;
      
    # printing pattern in 2-D array i.e,
    # printing 2D array b[i][j]
    for i in range(0, n):
      
        for j in range(0, n):
            print(b[i][j], end = " ");
        print();
      
# Driver code
arr = [ 1, 2, 3, 4, 5 ];
n = len(arr);
printPattern(arr, n);
      
# This code is contributed by
# Shivi_Aggarwal


C#




// C# implementation to print
// given array in 2D form
using System;
  
namespace Array
{
public class GFG
{     
    // Function to print pattern         
    static void printPattern(int []arr, int n)
    {
        // array to store the final output
        int[,] b = new int[n,n];
          
        for (int i = 0; i < n; i++)
        {
            for (int j = 0; j < n; j++)
                  
                // if i > j then insert arr[j] 
                // in 2D array b[i][j]
                if (i >= j)
                    b[i,j] = arr[j];
              
                else
                      
                    // insert zero in array b[i][j]
                    b[i,j] = 0;
        }
      
        // printing pattern in 2-D array i.e,
        // printing 2D array b[i][j]
        for (int i = 0; i < n; i++)
        {
            for (int j = 0; j < n; j++)
                Console.Write(b[i,j] + " ");
            Console.WriteLine();
        }
    }
  
    // Driver code
    public static void Main()
    {
        int []arr = { 1, 2, 3, 4, 5 };
        int n = arr.Length;
        printPattern(arr, n);
          
    }
  
}
  
// This code is contributed by Sam007


PHP




<?php
// PHP implementation to print 
// lower triangular matrix pattern
  
// Function to print pattern
function printPattern(array $arr, $n)
{
    // $array to store the 
    // final output
    $b;
    for ($i = 0; $i < $n; $i++)
    {
    for ($j = 0; $j < $n; $j++)
          
    // if $i > $j then insert $arr[$j] 
    // in 2D $array $b[$i][$j]
    if ($i >= $j)
        $b[$i][$j] = $arr[$j];
  
    else
          
        // insert zero in 
        // $array $b[$i][$j]
        $b[$i][$j] = 0;
    }
  
    // printing pattern in 2-D 
    // $array i.e, printing 2D 
    // $array $b[$i][$j]
    for ($i = 0; $i < $n; $i++)
    {
    for ($j = 0; $j < $n; $j++)
        echo $b[$i][$j]." ";
    echo "\n";
    }
}
  
// Driver code
$arr = array(1, 2, 3, 4, 5);
$n = sizeof($arr) / sizeof($arr[0]);
printPattern($arr, $n);
  
// This code is contributed by Mithun Kumar
?>


Javascript




<script>
  
// JavaScript implementation to print
// given array in 2D form
  
// Function to print pattern
function printPattern(arr, n)
{
    // array to store the final output
    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 then insert arr[j] 
       // in 2D array b[i][j]
       if (i >= j)
          b[i][j] = arr[j];
  
       else
         
          // insert zero in array b[i][j]
          b[i][j] = 0;
    }
  
    // printing pattern in 2-D array i.e,
    // printing 2D array b[i][j]
    for (var i = 0; i < n; i++)
    {
      for (var j = 0; j < n; j++)
         document.write( b[i][j] + " ");
      document.write("<br>");
    }
}
  
// Driver code
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
Previous
Next
Share your thoughts in the comments

Similar Reads