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.

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