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

Kiểm tra ma trận tam giác dưới trong C++

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

Kiểm tra ma trận tam giác dưới trong C++

Ví dụ

Input: {{1,0,0},{2,3,0},{4,5,6}} → 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=0..size-1
            Với j=i+1..size-1
                Nếu a[i][j] != 0 → trả về false
        Trả về true
    main()
        a = {{1,0,0,0},{2,3,0,0},{4,5,6,0},{7,8,9,10}}
        Nếu kiemTra(a) in "tam giác dưới" 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 = 0; i < size; i++)
        for (int j = i + 1; j < size; j++)
            if (a[i][j] != 0)
                return false;
    return true;
}

int main(){
    int a[size][size] = {{1,0,0,0},{2,3,0,0},{4,5,6,0},{7,8,9,10}};
    if (kiemTra(a))
        cout << "là ma trận tam giác dưới";
    else
        cout << "không phải ma trận tam giác dưới";
    return 0;
}

Kết quả đầu ra

là ma trận tam giác dưới