Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> การเขียนโปรแกรม C

โปรแกรมพิมพ์เมทริกซ์สามเหลี่ยมล่างและสามเหลี่ยมบนของอาร์เรย์ใน C


คำอธิบายโปรแกรม

เขียนโปรแกรมเพื่อพิมพ์เมทริกซ์สามเหลี่ยมล่างและเมทริกซ์สามเหลี่ยมบนของอาร์เรย์

เมทริกซ์สามเหลี่ยม

เมทริกซ์สามเหลี่ยมคือเมทริกซ์ที่มีรูปสามเหลี่ยมล่างหรือสามเหลี่ยมบน

เมทริกซ์สามเหลี่ยมล่าง

เมทริกซ์สี่เหลี่ยมจัตุรัสจะเรียกว่าสามเหลี่ยมล่าง ถ้ารายการทั้งหมดที่อยู่เหนือเส้นทแยงมุมหลักเป็นศูนย์

เมทริกซ์สามเหลี่ยมบน

เมทริกซ์สี่เหลี่ยมจัตุรัสจะเรียกว่าสามเหลี่ยมบน ถ้ารายการทั้งหมดด้านล่างเส้นทแยงมุมหลักเป็นศูนย์

เมทริกซ์ของแบบฟอร์ม

$${\displaystyle L={\begin{bmatrix}\ell _{1,1}&&&&0\\\ell _{2,1}&\ell _{2,2}&&&\\\ell _{3, 1}&\ell _{3,2}&\ddots &&\\\vdots &\vdots &\ddots &\ddos &\\\ell _{n,1}&\ell _{n,2}&\ ldots &\ell _{n,n-1}&\ell _{n,n}\end{bmatrix}}}$$

เรียกว่า เมทริกซ์สามเหลี่ยมล่าง หรือ เมทริกซ์สามเหลี่ยมซ้าย และเปรียบเสมือนเมทริกซ์ของรูปแบบ

$${\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} }}$$

เรียกว่าเมทริกซ์สามเหลี่ยมบน หรือเมทริกซ์สามเหลี่ยมขวา โดยทั่วไปแล้วเมทริกซ์สามเหลี่ยมล่างหรือด้านซ้ายจะแสดงด้วยตัวแปร L และเมทริกซ์สามเหลี่ยมบนหรือด้านขวามักแสดงด้วยตัวแปร U หรือ R

เมทริกซ์ที่มีทั้งรูปสามเหลี่ยมบนและล่างเป็นเส้นทแยงมุม เมทริกซ์ที่คล้ายกับเมทริกซ์รูปสามเหลี่ยมเรียกว่าเมทริกซ์แบบสามเหลี่ยม

ตัวอย่าง − เมทริกซ์สามเหลี่ยมด้านบน

$${\displaystyle {\begin{bmatrix}{1}&{4}&{1}\\{0}&{6}&{4}\\{0}&{0}&{1}\end {bmatrix}}}$$

ตัวอย่าง − เมทริกซ์สามเหลี่ยมล่าง

$${\displaystyle {\begin{bmatrix}{1}&{0}&{0}\\{2}&{8}&{0}\\{4}&{9}&{7}\end {bmatrix}}}$$

อัลกอริทึม

ตัวอย่าง - มิติต่างๆ ของเมทริกซ์

โปรแกรมพิมพ์เมทริกซ์สามเหลี่ยมล่างและสามเหลี่ยมบนของอาร์เรย์ใน C

โปรแกรมพิมพ์เมทริกซ์สามเหลี่ยมล่างและสามเหลี่ยมบนของอาร์เรย์ใน C

สำหรับเมทริกซ์สามเหลี่ยมล่าง

ค้นหาตำแหน่งดัชนีของแถวและคอลัมน์

หากตำแหน่งคอลัมน์มากกว่าตำแหน่งแถว ให้ทำตำแหน่งนั้นเป็น 0

สำหรับเมทริกซ์สามเหลี่ยมบน

ค้นหาตำแหน่งดัชนีของแถวและคอลัมน์

หากตำแหน่งของคอลัมน์น้อยกว่าตำแหน่งแถว ให้กำหนดตำแหน่งนั้นเป็น 0

โปรแกรมพิมพ์เมทริกซ์สามเหลี่ยมล่างและสามเหลี่ยมบนของอาร์เรย์ใน C

ตัวอย่าง

/* 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;
}

ผลลัพธ์

โปรแกรมพิมพ์เมทริกซ์สามเหลี่ยมล่างและสามเหลี่ยมบนของอาร์เรย์ใน C