转置矩阵是将一个矩阵的行变为列,列变为行的变换操作,在C语言中,可以使用二维数组来表示矩阵,并通过嵌套循环来实现矩阵的转置,下面是详细的步骤和小标题:
(图片来源网络,侵删)
1、定义矩阵和结果矩阵的大小
#define ROWS 3 // 行数 #define COLS 4 // 列数 int matrix[ROWS][COLS]; // 原始矩阵 int transpose[COLS][ROWS]; // 转置后的矩阵
2、输入原始矩阵的元素
printf("请输入一个 %d x %d 的矩阵: ", ROWS, COLS); for (int i = 0; i < ROWS; i++) { for (int j = 0; j < COLS; j++) { scanf("%d", &matrix[i][j]); } }
3、实现矩阵的转置操作
// 遍历原始矩阵的每个元素,将其值赋给转置矩阵对应的位置 for (int i = 0; i < ROWS; i++) { for (int j = 0; j < COLS; j++) { transpose[j][i] = matrix[i][j]; } }
4、输出转置后的矩阵
printf("转置后的矩阵为: "); for (int i = 0; i < COLS; i++) { for (int j = 0; j < ROWS; j++) { printf("%d ", transpose[i][j]); } printf(" "); }
完整的代码如下所示:
#include <stdio.h> #define ROWS 3 // 行数 #define COLS 4 // 列数 int main() { int matrix[ROWS][COLS]; // 原始矩阵 int transpose[COLS][ROWS]; // 转置后的矩阵 printf("请输入一个 %d x %d 的矩阵: ", ROWS, COLS); for (int i = 0; i < ROWS; i++) { for (int j = 0; j < COLS; j++) { scanf("%d", &matrix[i][j]); } } // 转置操作 for (int i = 0; i < ROWS; i++) { for (int j = 0; j < COLS; j++) { transpose[j][i] = matrix[i][j]; } } // 输出转置后的矩阵 printf("转置后的矩阵为: "); for (int i = 0; i < COLS; i++) { for (int j = 0; j < ROWS; j++) { printf("%d ", transpose[i][j]); } printf(" "); } return 0; }
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。
评论(0)