Mô tả chương trình
Viết chương trình in ma trận tam giác dưới và ma trận tam giác trên của Mảng.
Ma trận tam giác
Ma trận tam giác là ma trận tam giác dưới hoặc tam giác trên.
Ma trận tam giác dưới
Ma trận vuông được gọi là tam giác thấp hơn nếu tất cả các mục trên đường chéo chính bằng không.
Ma trận tam giác trên
Ma trận vuông được gọi là tam giác trên nếu tất cả các mục bên dưới đường chéo chính bằng không.
Ma trận của biểu mẫu
$$ {\ displaystyle L ={\ begin {bmatrix} \ ell _ {1,1} &&&&0 \\\ ell _ {2,1} &\ ell _ {2,2} &&&\\\ ell _ {3, 1} &\ ell _ {3,2} &\ ddots &&\\\ vdots &\ vdots &\ ddots &\ ddots &\\\ ell _ {n, 1} &\ ell _ {n, 2} &\ ldots &\ ell _ {n, n-1} &\ ell _ {n, n} \ end {bmatrix}}} $$
được gọi là ma trận tam giác dưới hoặc ma trận tam giác trái, và tương tự như một ma trận có dạng
$$ {\ displaystyle U ={\ begin {bmatrix} u_ {1,1} &u_ {1,2} &u_ {1,3} &\ ldots &u_ {1, n} \\ &u_ {2,2} &u_ { 2,3} &\ ldots &u_ {2, n} \\ &&\ ddots &\ ddots &\ vdots \\ &&&\ ddots &u_ {n-1, n} \\ 0 &&&&u_ {n, n} \ end {bmatrix} }} $$
được gọi là ma trận tam giác trên hoặc ma trận tam giác vuông. Ma trận tam giác dưới hoặc bên trái thường được ký hiệu bằng biến L, và ma trận tam giác trên hoặc bên phải thường được ký hiệu bằng biến U hoặc R.
Một ma trận có cả tam giác trên và dưới là đường chéo. Ma trận tương tự như ma trận tam giác được gọi là ma trận tam giác.
Ví dụ - Ma trận tam giác trên
$$ {\ displaystyle {\ begin {bmatrix} {1} &{4} &{1} \\ {0} &{6} &{4} \\ {0} &{0} &{1} \ end {bmatrix}}} $$
Ví dụ - Ma trận tam giác dưới
$$ {\ displaystyle {\ begin {bmatrix} {1} &{0} &{0} \\ {2} &{8} &{0} \\ {4} &{9} &{7} \ end {bmatrix}}} $$
Thuật toán
Ví dụ - Các thứ nguyên khác nhau của ma trận
Đối với ma trận tam giác dưới
Tìm vị trí Chỉ mục của hàng và cột.
Nếu vị trí cột lớn hơn vị trí hàng, thì hãy đặt vị trí đó bằng 0.
Đối với ma trận tam giác trên
Tìm vị trí chỉ mục của hàng và cột.
Nếu vị trí cột nhỏ hơn vị trí hàng thì hãy đặt vị trí đó bằng 0.
Ví dụ
/* Program to find Lower and Upper Triangle Matrix */ #include<stdio.h> int main() { int rows, cols, r, c, matrix[10][10]; clrscr(); /*Clears the Screen*/ printf("Please enter the number of rows for the matrix: "); scanf("%d", &rows); printf("\n"); printf("Please enter the number of columns for the matrix: "); scanf("%d", &cols); printf("\n"); printf("Please enter the elements for the Matrix: \n"); for(r = 0; r < rows; r++){ for(c = 0;c < cols;c++){ scanf("%d", &matrix[r][c]); } } printf("\n The Lower Triangular Matrix is: "); for(r = 0; r < rows; r++){ printf("\n"); for(c = 0; c < cols; c++){ if(r >= c){ printf("%d\t ", matrix[r][c]); } else{ printf("0"); printf("\t"); } } } printf("\n\n The Upper Triangular Matrix is: "); for(r = 0; r < rows; r++){ printf("\n"); for(c = 0; c < cols; c++){ if(r > c){ printf("0"); printf("\t"); } else{ printf("%d\t ", matrix[r][c]); } } } getch(); return 0; }
Đầu ra