Computer >> Máy Tính >  >> Lập trình >> lập trình C

Chương trình in ma trận tam giác dưới và tam giác trên của một mảng trong C

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

Chương trình in ma trận tam giác dưới và tam giác trên của một mảng trong C

Chương trình in ma trận tam giác dưới và tam giác trên của một mảng trong C

Đố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.

Chương trình in ma trận tam giác dưới và tam giác trên của một mảng trong C

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

Chương trình in ma trận tam giác dưới và tam giác trên của một mảng trong C