Saturday, October 5, 2024
Google search engine
HomeData Modelling & AIPrint Upper Hessenberg matrix of order N

Print Upper Hessenberg matrix of order N

Given a positive integer N, the task is to print the Upper Hessenberg matrix of order N which includes any one-digit random positive integer as its non-zero elements. 
Upper Hessenberg matrix is a square matrix in which all of its elements below the sub-diagonal are zero. In mathematical term mat[i][j] = 0 for all i > j + 1.
Examples: 
 

Input: N = 3 
Output: 
1 2 8 
1 3 4 
0 3 4
Input: N = 4 
Output: 
1 2 2 3 
1 3 4 2 
0 3 4 2 
0 0 1 4 
 

 

Approach: For printing an upper Hessenberg matrix with one-digit positive elements print zero for all the cells of the matrix where i > j + 1 and any single-digit random number with help of rand() function.
Below is the implementation of the above approach: 
 

C++




// C++ implementation of the approach
#include <bits/stdc++.h>
using namespace std;
 
// Function to print the Upper Hessenberg
// matrix of order n
void UpperHessenbergMatrix(int n)
{
    for (int i = 1; i <= n; i++) {
        for (int j = 1; j <= n; j++) {
 
            // If element is below sub-diagonal
            // then print 0
            if (i > j + 1)
                cout << '0' << " ";
 
            // Print a random digit for
            // every non-zero element
            else
                cout << rand() % 10 << " ";
        }
        cout << "\n";
    }
}
 
// Driver code
int main()
{
    int n = 4;
    UpperHessenbergMatrix(n);
 
    return 0;
}


Java




// Java implementation of the approach
class GFG
{
 
// Function to print the Lower Hessenberg
// matrix of order n
static void UpperHessenbergMatrix(int n)
{
    for (int i = 1; i <= n; i++)
    {
        for (int j = 1; j <= n; j++)
        {
 
            // If element is above super-diagonal
            // then print 0
            if (i > j + 1)
            {
                System.out.print(0 + " ");
            }
             
            // Print a random digit for
            // every non-zero element
            else
            {
                System.out.print((int)(Math.random() * 10) + " ");
            }
        }
        System.out.println();
    }
}
 
// Driver code
public static void main(String[] args)
{
    int n = 4;
    UpperHessenbergMatrix(n);
}
}
 
// This code is contributed by 29AjayKumar


Python3




# Python3 implementation of the approach
import random
 
# Function to print the Upper Hessenberg
# matrix of order n
def UpperHessenbergMatrix(n):
 
    for i in range(1, n + 1):
 
        for j in range(1, n + 1):
 
            # If element is below sub-diagonal
            # then pr0
            if (i > j + 1):
                print('0', end = " ")
 
            # Pra random digit for
            # every non-zero element
            else:
                print(random.randint(1, 10),
                                 end = " ")
        print()
 
# Driver code
n = 4;
UpperHessenbergMatrix(n)
 
# This code is contributed
# by Mohit Kumar


C#




// C# implementation of the approach
using System;
 
class GFG
{
     
    // Function to print the Lower Hessenberg
    // matrix of order n
    static void UpperHessenbergMatrix(int n)
    {
        Random rand = new Random();
         
        for (int i = 1; i <= n; i++)
        {
            for (int j = 1; j <= n; j++)
            {
     
                // If element is above super-diagonal
                // then print 0
                if (i > j + 1)
                    Console.Write(0 + " ");
     
                // Print a random digit for
                // every non-zero element
                else
                    Console.Write(rand.Next(1, 10) + " ");
            }
            Console.WriteLine();
        }
    }
     
    // Driver code
    static public void Main ()
    {
        int n = 4;
        UpperHessenbergMatrix(n);
    }
}   
     
// This code is contributed by AnkitRai01


Javascript




<script>
 
// Javascript implementation of the approach
 
// Function to print the Upper Hessenberg
// matrix of order n
function UpperHessenbergMatrix( n)
{
    for (var i = 1; i <= n; i++) {
        for (var j = 1; j <= n; j++) {
 
            // If element is below sub-diagonal
            // then print 0
            if (i > j + 1)
                document.write( '0' + " ");
 
            // Print a random digit for
            // every non-zero element
            else
                document.write( Math.floor(Math.random() * 10) + " ");
        }
        document.write("<br>");
    }
}
 
// Driver code
var n = 4;
UpperHessenbergMatrix(n);
 
</script>


Output: 

3 6 7 5 
3 5 6 2 
0 9 1 2 
0 0 7 0

 

Time Complexity: O(n2)

Auxiliary Space: O(1)

Feeling lost in the world of random DSA topics, wasting time without progress? It’s time for a change! Join our DSA course, where we’ll guide you on an exciting journey to master DSA efficiently and on schedule.
Ready to dive in? Explore our Free Demo Content and join our DSA course, trusted by over 100,000 neveropen!

RELATED ARTICLES

Most Popular

Recent Comments