📅  最后修改于: 2023-12-03 14:39:39.510000             🧑  作者: Mango
本程序用于检查输入的矩阵是否为上三角形矩阵,通过输出结果告知用户输入矩阵是否为上三角形矩阵。
输入的矩阵必须是 n*n 的矩阵,首先判断矩阵的行数和列数是否相等,若不等则不是方阵,无法判断是否为上三角形矩阵。
若行数和列数相等,则对矩阵的对角线以下的元素进行遍历,只要存在一个元素不为 0,即可说明该矩阵不是上三角形矩阵。
若所有对角线以下的元素都为 0,则说明该矩阵为上三角形矩阵。
#include <iostream>
using namespace std;
int main()
{
int n; // 矩阵的行数和列数
cout << "请输入矩阵的行数和列数:";
cin >> n;
int a[n][n]; // 定义矩阵
cout << "请依次输入矩阵中的元素:" << endl;
for(int i = 0; i < n; i++)
for(int j = 0; j < n; j++)
cin >> a[i][j];
// 判断矩阵是否为上三角形矩阵
for(int i = 1; i < n; i++)
for(int j = 0; j < i; j++)
if(a[i][j] != 0){
cout << "该矩阵不是上三角形矩阵" << endl;
return 0;
}
cout << "该矩阵是上三角形矩阵" << endl;
return 0;
}
首先要输入矩阵的行数和列数,创建一个 n*n 的矩阵 a[n][n],用两重循环输入矩阵中的元素。
判断矩阵是否为上三角形矩阵,用两重循环遍历矩阵的对角线以下的元素,只要存在一个不为 0 的元素,即输出“该矩阵不是上三角形矩阵”,并结束程序。若所有对角线以下的元素都为 0,输出“该矩阵是上三角形矩阵”。