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

📅  最后修改于: 2021-09-06 07:31:56             🧑  作者: Mango

下三角矩阵是一个方阵,其中主对角线以上的所有元素都为0。如果矩阵不是方阵,则永远不能称为下三角矩阵。

例子

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

Input 2 :  mat[][]=    {{4, 6},
                         {2, 8}}
               
Output :   mat[][]=     {{4, 0},
                         {2, 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 for displaying lower triangular matrix
import java.io.*;
  
class GFG {
    static void lowerTriangularMatrix(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 column number is
                    // greater then row number,mark the
                    // element as 0
                    if (i < j) {
                        matrix[i][j] = 0;
                    }
                }
            }
  
            System.out.println(
                "Lower Traingular Matrix is given by :-");
            // printing the lower triangular matrix
            for (int i = 0; i < row; i++) {
                for (int j = 0; j < col; j++) {
                    System.out.print(matrix[i][j] + " ");
                }
                System.out.println();
            }
        }
    }
    public static void main(String[] args)
    {
        // driver code
        int mat[][]
            = { { 2, 1, 4 }, { 1, 2, 3 }, { 3, 6, 2 } };
        // calling the function
        lowerTriangularMatrix(mat);
    }
}


输出:

Lower Traingular Matrix is given by :-
2 0 0 
1 2 0 
3 6 2 
  • 空间复杂度:矩阵可以就地更改。即不需要额外的矩阵空间。 0(N^2)
  • 时间复杂度: 0(N^2)

如果您想与行业专家一起参加直播课程,请参阅Geeks Classes Live