Ma trận tam giác dưới là ma trận vuông mà tất cả các phần tử trên đường chéo chính đều bằng 0 (chỉ giữ phần tử dưới hoặc trên đường chéo: i >= j).
Điều kiện
if (i >= j)
Console.Write(A[i, j] + "\t"); // Giữ nguyên
else
Console.Write("0\t"); // Phần trên đường chéo = 0
Mã nguồn
using System;
class Demo {
static void Main() {
int m, n, i, j;
Console.Write("Nhập số hàng và cột của ma trận: ");
m = Convert.ToInt16(Console.ReadLine());
n = Convert.ToInt16(Console.ReadLine());
int[,] A = new int[10, 10];
Console.Write("\nNhập các phần tử ma trận: ");
for (i = 0; i < m; i++) {
for (j = 0; j < n; j++) {
A[i, j] = Convert.ToInt16(Console.ReadLine());
}
}
Console.Clear();
Console.WriteLine("\nMa trận tam giác dưới:");
for (i = 0; i < m; i++) {
for (j = 0; j < n; j++) {
if (i >= j)
Console.Write(A[i, j] + "\t");
else
Console.Write("0\t");
}
Console.WriteLine();
}
Console.ReadLine();
}
}
Ví dụ
Ma trận 3x3 nhập:
1 2 3
4 5 6
7 8 9
Ma trận tam giác dưới:
1 0 0
4 5 0
7 8 9
Lưu ý
- Chỉ áp dụng cho ma trận vuông (m = n).
- Code gốc có lỗi: vòng lặp in tam giác dưới chỉ chạy
j < 3(hardcoded). Đã sửa thànhj < n. - Cặp ma trận tam giác trên/dưới thường dùng trong: giải hệ phương trình (LU decomposition), tối ưu lưu trữ ma trận thưa.