打印数组的下三角矩阵和上三角矩阵的程序
先决条件 - C/C++ 中的多维数组
给定一个二维数组,编写程序打印下三角矩阵和上三角矩阵。
- 下三角矩阵是包含主对角线以下元素的矩阵,包括主对角线元素,其余元素为0。
- 上三角矩阵是包含主对角线以上元素的矩阵,包括主对角线元素,其余元素为0。
下三角:
上三角:
例子 :
Input : matrix[3][3] = {1 2 3
4 5 6
7 8 9}
Output :
Lower : 1 0 0 Upper : 1 2 3
4 5 0 0 5 6
7 8 9 0 0 9
Input : matrix[3][3] = {7 8 9
3 2 1
6 5 4}
Output :
Lower : 7 0 0 Upper : 7 8 9
3 2 0 0 2 1
6 5 4 0 0 4
脚步:
- 对于下三角矩阵,我们分别检查索引位置 i 和 j 即行和列。如果列位置大于行位置,我们只需将该位置设为 0。
- 对于上三角矩阵,我们分别检查索引位置 i 和 j 即行和列。如果列位置小于行位置,我们只需将该位置设为 0。
C++
// C++ program to print Lower
// triangular and Upper triangular
// matrix of an array
#include
using namespace std;
// Function to form
// lower triangular matrix
void lower(int matrix[3][3], int row, int col)
{
int i, j;
for (i = 0; i < row; i++)
{
for (j = 0; j < col; j++)
{
if (i < j)
{
cout << "0" << " ";
}
else
cout << matrix[i][j] << " ";
}
cout << endl;
}
}
// Function to form upper triangular matrix
void upper(int matrix[3][3], int row, int col)
{
int i, j;
for (i = 0; i < row; i++)
{
for (j = 0; j < col; j++)
{
if (i > j)
{
cout << "0" << " ";
}
else
cout << matrix[i][j] << " ";
}
cout << endl;
}
}
// Driver Code
int main()
{
int matrix[3][3] = {{1, 2, 3},
{4, 5, 6},
{7, 8, 9}};
int row = 3, col = 3;
cout << "Lower triangular matrix: \n";
lower(matrix, row, col);
cout << "Upper triangular matrix: \n";
upper(matrix, row, col);
return 0;
}
Java
// Java program to print Lower
// triangular and Upper triangular
// matrix of an array
class GFG
{
// method to form lower
// triangular matrix
static void lower(int matrix[][],
int row, int col)
{
int i, j;
for (i = 0; i < row; i++)
{
for (j = 0; j < col; j++)
{
if (i < j)
{
System.out.print("0" + " ");
}
else
System.out.print(matrix[i][j] + " ");
}
System.out.println();
}
}
// Method to form upper
// triangular matrix
static void upper(int matrix[][],
int row, int col)
{
int i, j;
for (i = 0; i < row; i++)
{
for (j = 0; j < col; j++)
{
if (i > j)
{
System.out.print("0" + " ");
}
else
System.out.print(matrix[i][j] + " ");
}
System.out.println();
}
}
// Driver Code
public static void main(String args[])
{
int matrix[][] = {{1, 2, 3},
{4, 5, 6},
{7, 8, 9}};
int row = 3, col = 3;
System.out.println("Lower triangular matrix: ");
lower(matrix, row, col);
System.out.println("Upper triangular matrix: ");
upper(matrix, row, col);
}
}
Python3
# Python3 program to print Lower
# triangular and Upper triangular
# matrix of an array
# Function to form lower triangular
# matrix
def lower(matrix, row, col):
for i in range(0, row):
for j in range(0, col):
if (i < j):
print("0", end = " ");
else:
print(matrix[i][j],
end = " " );
print(" ");
# Function to form upper triangular matrix
def upper(matrix, row, col):
for i in range(0, row):
for j in range(0, col):
if (i > j):
print("0", end = " ");
else:
print(matrix[i][j],
end = " " );
print(" ");
# Driver Code
matrix = [[1, 2, 3],
[4, 5, 6],
[7, 8, 9]];
row = 3;
col = 3;
print("Lower triangular matrix: ");
lower(matrix, row, col);
print("Upper triangular matrix: ");
upper(matrix, row, col);
# This code is contributed by
# Shivi_Aggarwal
C#
// C# program to print
// Lower triangular and
// Upper triangular
// matrix of an array
using System;
class GFG
{
// method to form lower
// triangular matrix
static void lower(int [,]matrix,
int row, int col)
{
int i, j;
for (i = 0; i < row; i++)
{
for (j = 0; j < col; j++)
{
if (i < j)
{
Console.Write("0" + " ");
}
else
Console.Write(matrix[i, j] + " ");
}
Console.WriteLine();
}
}
// Method to form upper
// triangular matrix
static void upper(int [,]matrix,
int row, int col)
{
int i, j;
for (i = 0; i < row; i++)
{
for (j = 0; j < col; j++)
{
if (i > j)
{
Console.Write("0" + " ");
}
else
Console.Write(matrix[i, j] + " ");
}
Console.WriteLine();
}
}
// Driver Code
static public void Main ()
{
int [,]matrix = {{1, 2, 3},
{4, 5, 6},
{7, 8, 9}};
int row = 3, col = 3;
Console.WriteLine("Lower triangular matrix: ");
lower(matrix, row, col);
Console.WriteLine("Upper triangular matrix: ");
upper(matrix, row, col);
}
}
// This code is contributed by ajit
PHP
$j)
{
echo "0" , " ";
}
else
echo $matrix[$i][$j] ," ";
}
echo "\n";
}
}
// Driver Code
$matrix = array (array (1, 2, 3),
array (4, 5, 6),
array (7, 8, 9));
$row = 3; $col = 3;
echo "Lower triangular matrix: \n";
lower($matrix, $row, $col);
echo "Upper triangular matrix: \n";
upper($matrix, $row, $col);
// This code is contributed by jit_t
?>
Javascript
输出 :
Lower triangular matrix:
1 0 0
4 5 0
7 8 9
Upper triangular matrix:
1 2 3
0 5 6
0 0 9