Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> C++

Kiểm tra ma trận tam giác trên trong C++

Cho ma trận vuông M[r][c] (r=c). Kiểm tra xem có phải ma trận tam giác trên (upper triangular) hay không. Ma trận tam giác trên: các phần tử trên đường chéo chính (kể cả đường chéo) khác 0, phần tử dưới đường chéo bằng 0.

Kiểm tra ma trận tam giác trên trong C++

Ví dụ

Input: {{1,2,3},{0,5,6},{0,0,9}} → Có
Input: {{3,0,1},{6,2,0},{7,5,3}} → Không

Thuật toán

BẮT ĐẦU
    #define size 4
    Hàm kiemTra(int a[size][size])
        Với i=1..size-1
            Với j=0..i-1
                Nếu a[i][j] != 0 → trả về false
        Trả về true
    main()
        a = {{1,1,3,2},{0,3,3,2},{0,0,2,1},{0,0,0,1}}
        Nếu kiemTra(a) in "tam giác trên" ngược lại "không phải"
KẾT THÚC

Ví dụ mã C++

#include <bits/stdc++.h>
#define size 4
using namespace std;

bool kiemTra(int a[size][size]){
    for (int i = 1; i < size; i++)
        for (int j = 0; j < i; j++)
            if (a[i][j] != 0)
                return false;
    return true;
}

int main(){
    int a[size][size] = {{1,1,3,2},{0,3,3,2},{0,0,2,1},{0,0,0,1}};
    if (kiemTra(a))
        cout << "là ma trận tam giác trên";
    else
        cout << "không phải ma trận tam giác trên";
    return 0;
}

Kết quả đầu ra

là ma trận tam giác trên