📜  C ++程序检查矩阵是否为上三角形(1)

📅  最后修改于: 2023-12-03 14:39:39.510000             🧑  作者: Mango

C++程序检查矩阵是否为上三角形介绍

程序功能

本程序用于检查输入的矩阵是否为上三角形矩阵,通过输出结果告知用户输入矩阵是否为上三角形矩阵。

程序逻辑

输入的矩阵必须是 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,输出“该矩阵是上三角形矩阵”。