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

Chương trình C# minh họa ma trận tam giác dưới (Lower Triangular Matrix)

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ành j < 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.