显示上三角矩阵的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)