配列の下三角行列と上三角行列を出力するプログラムを作成します。
三角行列
三角行列は、下三角行列または上三角行列のいずれかです。
下三角行列
すべてのエントリが主対角より上の場合、正方行列は下三角行列と呼ばれます。
上三角行列
主対角より下のすべての要素がゼロの場合、正方行列は上三角行列と呼ばれます。
行列
#$${\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}&\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 で表されます。
上三角行列と下三角行列の両方が対角である行列は、対角行列です。三角行列に似た行列は、triangularisable と呼ばれます。
例 - 上三角行列
$${\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}}}$$
例 - 行列のさまざまな次元
##下三角行列の場合
#行と列のインデックス位置を見つけます。
If 列の位置が行位置より大きい場合は、その位置を 0 にします。
上三角行列の場合
行と列のインデックス位置を見つけます。
If列の位置が行の位置より小さい場合は、その位置を 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 中国語 Web サイトの他の関連記事を参照してください。