คำอธิบายโปรแกรม
เขียนโปรแกรมเพื่อพิมพ์เมทริกซ์สามเหลี่ยมล่างและเมทริกซ์สามเหลี่ยมบนของอาร์เรย์
เมทริกซ์สามเหลี่ยม
เมทริกซ์สามเหลี่ยมคือเมทริกซ์ที่มีรูปสามเหลี่ยมล่างหรือสามเหลี่ยมบน
เมทริกซ์สามเหลี่ยมล่าง
เมทริกซ์สี่เหลี่ยมจัตุรัสจะเรียกว่าสามเหลี่ยมล่าง ถ้ารายการทั้งหมดที่อยู่เหนือเส้นทแยงมุมหลักเป็นศูนย์
เมทริกซ์สามเหลี่ยมบน
เมทริกซ์สี่เหลี่ยมจัตุรัสจะเรียกว่าสามเหลี่ยมบน ถ้ารายการทั้งหมดด้านล่างเส้นทแยงมุมหลักเป็นศูนย์
เมทริกซ์ของแบบฟอร์ม
$${\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}}}$$
อัลกอริทึม
ตัวอย่าง - มิติต่างๆ ของเมทริกซ์


สำหรับเมทริกซ์สามเหลี่ยมล่าง
ค้นหาตำแหน่งดัชนีของแถวและคอลัมน์
หากตำแหน่งคอลัมน์มากกว่าตำแหน่งแถว ให้ทำตำแหน่งนั้นเป็น 0
สำหรับเมทริกซ์สามเหลี่ยมบน
ค้นหาตำแหน่งดัชนีของแถวและคอลัมน์
หากตำแหน่งของคอลัมน์น้อยกว่าตำแหน่งแถว ให้กำหนดตำแหน่งนั้นเป็น 0

ตัวอย่าง
/* 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;
} ผลลัพธ์
