C++程序 检查矩阵是否为上三角形
给定一个方阵,任务是检查矩阵是否为上三角形。如果对角线以下的所有条目都为零,则称方阵为上三角形矩阵。
示例:
输入 : mat[4][4] = {{1, 3, 5, 3},
{0, 4, 6, 2},
{0, 0, 2, 5},
{0, 0, 0, 6}};
输出 : 矩阵是上三角形的。
输入 : mat[4][4] = {{5, 6, 3, 6},
{0, 4, 6, 6},
{1, 0, 8, 5},
{0, 1, 0, 6}};
输出 : 矩阵不是上三角形的。
// 检查上三角形矩阵的程序。
#include <bits/stdc++.h>
#define N 4
using namespace std;
// 函数以检查矩阵是否为上三角形形式。
bool isUpperTriangularMatrix(int mat[N][N])
{
for (int i = 1; i < N; i++)
for (int j = 0; j < i; j++)
if (mat[i][j] != 0)
return false;
return true;
}
// 驱动程序。
int main()
{
int mat[N][N] = { { 1, 3, 5, 3 },
{ 0, 4, 6, 2 },
{ 0, 0, 2, 5 },
{ 0, 0, 0, 6 } };
if (isUpperTriangularMatrix(mat))
cout << "是的";
else
cout << "否";
return 0;
}
输出:
是的
时间复杂度: O(n 2 ), n表示矩阵的行数和列数。
辅助空间: O(1), 不需要额外的空间,因此为常数。