C 语言中矩阵转置的函数实现23
矩阵转置是将矩阵的行和列互换的操作。在 C 语言中,我们可以使用指针和双重循环来实现矩阵转置。下面是一个详细的函数实现:```c
#include
#include
// 矩阵转置函数
void transpose(int matrix, int rows, int cols) {
// 交换行和列
for (int i = 0; i < rows; i++) {
for (int j = i + 1; j < cols; j++) {
int temp = matrix[i][j];
matrix[i][j] = matrix[j][i];
matrix[j][i] = temp;
}
}
}
// 打印矩阵
void printMatrix(int matrix, int rows, int cols) {
for (int i = 0; i < rows; i++) {
for (int j = 0; j < cols; j++) {
printf("%d ", matrix[i][j]);
}
printf("");
}
}
int main() {
// 创建一个 3x4 矩阵
int matrix = malloc(3 * sizeof(int *));
for (int i = 0; i < 3; i++) {
matrix[i] = malloc(4 * sizeof(int));
}
// 初始化矩阵
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 4; j++) {
matrix[i][j] = i * 4 + j;
}
}
// 打印原始矩阵
printf("原始矩阵:");
printMatrix(matrix, 3, 4);
// 执行矩阵转置
transpose(matrix, 3, 4);
// 打印转置后的矩阵
printf("转置后的矩阵:");
printMatrix(matrix, 3, 4);
// 释放内存
for (int i = 0; i < 3; i++) {
free(matrix[i]);
}
free(matrix);
return 0;
}
```
在上面的函数实现中,我们使用指针和双重循环来访问矩阵元素并执行转置操作。`transpose()` 函数接收矩阵指针、行数和列数作为参数,并直接修改原始矩阵。
在 `main()` 函数中,我们创建了一个 3x4 矩阵,并用值对其进行初始化。然后,我们打印原始矩阵并调用 `transpose()` 函数进行转置。最后,我们打印转置后的矩阵。
运行此程序将输出以下内容:```
原始矩阵:
0 1 2 3
4 5 6 7
8 9 10 11
转置后的矩阵:
0 4 8
1 5 9
2 6 10
3 7 11
```
2024-10-17
下一篇:C 语言字符串输出详解
Python字符串查找与判断:从基础到高级的全方位指南
https://www.shuihudhg.cn/134118.html
C语言如何高效输出字符串“inc“?深度解析printf、puts及格式化输出
https://www.shuihudhg.cn/134117.html
PHP高效获取CSV文件行数:从小型文件到海量数据的最佳实践与性能优化
https://www.shuihudhg.cn/134116.html
C语言控制台图形输出:从入门到精通的ASCII艺术实践
https://www.shuihudhg.cn/134115.html
Python在Linux环境下的执行与自动化:从基础到高级实践
https://www.shuihudhg.cn/134114.html
热门文章
C 语言中实现正序输出
https://www.shuihudhg.cn/2788.html
c语言选择排序算法详解
https://www.shuihudhg.cn/45804.html
C 语言函数:定义与声明
https://www.shuihudhg.cn/5703.html
C语言中的开方函数:sqrt()
https://www.shuihudhg.cn/347.html
C 语言中字符串输出的全面指南
https://www.shuihudhg.cn/4366.html