首页 >后端开发 >C++ >编写一个C程序,打印一个数组的下三角矩阵和上三角矩阵

编写一个C程序,打印一个数组的下三角矩阵和上三角矩阵

WBOY
WBOY转载
2023-08-31 15:17:061505浏览

程序说明

编写一个程序来打印数组的下三角矩阵和上三角矩阵。

三角矩阵

三角矩阵是下三角矩阵或上三角矩阵。

下三角矩阵

如果主对角线以上的所有条目均为零,则方阵称为下三角矩阵。

上三角矩阵

如果主对角线以下的所有条目均为零,则方阵称为上三角矩阵。

矩阵形式为

$${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 &&&ddots &u_{n-1,n} &&&&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("</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程序,打印一个数组的下三角矩阵和上三角矩阵

以上是编写一个C程序,打印一个数组的下三角矩阵和上三角矩阵的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文转载于:tutorialspoint.com。如有侵权,请联系admin@php.cn删除