📜  显示上三角矩阵的Java程序

📅  最后修改于: 2022-05-13 01:55:41.487000             🧑  作者: Mango

显示上三角矩阵的Java程序

上三角矩阵是一个矩阵,其中主矩阵下面的所有元素都是0。一个必要条件是矩阵本质上必须是方阵。如果矩阵不是方阵,则永远不能称为上三角矩阵。

例子

Input 1: mat[][] = { {2, 1, 4},
                     {1, 2, 3},  
                     {3, 6, 2} }
                     
Output :  mat[][]= { {2, 1, 4},
                     {0, 2, 3},  
                     {0, 0, 2} }
                     
Explaination: All the element below the principal diagonal needs to be 0.

Input 2 :   mat[][]=  { {4,7},
                        {2,8} }
                  
Output :   mat[][]=   { {4,7},
                        {0,8} }

Input 3 :  mat[][]=  { {2,1,4,6},
                       {1,2,3,7},  
                       {3,6,2,8} }  
Output :   Matrix should be a Square Matrix

方法:

  • 如果矩阵具有相等的行和列,则继续程序,否则退出程序。
  • 在整个矩阵上运行循环,对于行号大于列号的行,使该位置的元素等于 0。

下面是上述方法的实现:

Java
// Java Program to print the upper triangular matrix
import java.io.*;
 
class GFG {
   
    // Print matrix using iterative approach
    public static void printMatrix(int[][] a)
    {
        for (int i = 0; i < a.length; i++) {
            for (int j = 0; j < a[0].length; j++)
                System.out.print(a[i][j] + " ");
            System.out.println();
        }
    }
    public static void upperTriangularMatrix(int matrix[][])
    {
        int row = matrix.length;
        int col = matrix[0].length;
       
        // if number of rows and
        // columns are not equal,then
        // return back
        if (row != col) {
            System.out.println(
                "Matrix should be a Square Matrix");
            return;
        }
        else {
           
            // looping over the whole matrix
            for (int i = 0; i < row; i++) {
                for (int j = 0; j < col; j++) {
                   
                    // for the rows ,whose row number is
                    // greater then column number,mark the
                    // element as 0
                    if (i > j) {
                        matrix[i][j] = 0;
                    }
                }
            }
 
            System.out.println(
                "Upper Triangular Matrix is given by :-");
           
            // printing the upper triangular matrix
            printMatrix(matrix);
        }
    }
    public static void main(String[] args)
    {
        int mat[][] = { { 2, 1, 4 }, { 1, 2, 3 }, { 3, 6, 2 } };
       
        // calling the function
        upperTriangularMatrix(mat);
    }
}


输出
Upper Triangular Matrix is given by :-
2 1 4 
0 2 3 
0 0 2 


空间复杂度: 0(N^2)

时间复杂度: 0(N^2)