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