寫一個程式來列印陣列的下三角矩陣和上三角矩陣。
三角矩陣
#三角矩陣是下三角矩陣或上三角矩陣。
#下三角矩陣
#如果所有元素都在主對角線上方,則方陣稱為下三角矩陣為零。
##上三角矩陣##如果主對角線下方的所有元素都為零,則方陣稱為上三角矩陣。
A 矩陣格式為
$${\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}}}$$
稱為
下三角矩陣或左三角矩陣,以及類似形式的矩陣$${\displaystyle U={\begin{bmatrix}u_{1,1}&u_{1,2}&u_{1 , 3}&\l點&u_{1,n}\&u_{2,2}&u_{2,3}&\l點&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("</p><p>"); printf("Please enter the number of columns for the matrix: "); scanf("%d", &cols); printf("</p><p>"); printf("Please enter the elements for the Matrix: </p><p>"); for(r = 0; r < rows; r++){ for(c = 0;c < cols;c++){ scanf("%d", &matrix[r][c]); } } printf("</p><p> The Lower Triangular Matrix is: "); for(r = 0; r < rows; r++){ printf("</p><p>"); for(c = 0; c < cols; c++){ if(r >= c){ printf("%d\t ", matrix[r][c]); } else{ printf("0"); printf("\t"); } } } printf("</p><p></p><p> The Upper Triangular Matrix is: "); for(r = 0; r < rows; r++){ printf("</p><p>"); for(c = 0; c < cols; c++){ if(r > c){ printf("0"); printf("\t"); } else{ printf("%d\t ", matrix[r][c]); } } } getch(); return 0; }
輸出
############################以上是寫一個C程序,列印一個陣列的下三角矩陣和上三角矩陣的詳細內容。更多資訊請關注PHP中文網其他相關文章!