b2106 矩阵转置c语言代码
时间: 2024-11-11 15:15:22 浏览: 27
在C语言中,矩阵转置通常涉及创建一个新的矩阵,其行与原矩阵的列相对应。下面是一个简单的例子,展示了如何将二维数组(矩阵)转置:
```c
#include <stdio.h>
// 定义函数来转置矩阵
void transpose(int source[][n], int destination[][n], int m, int n) {
for (int i = 0; i < m; i++) {
for (int j = 0; j < n; j++) {
// 交换行i和列j的元素
destination[j][i] = source[i][j];
}
}
}
int main() {
int rows, cols;
printf("Enter the number of rows and columns: ");
scanf("%d %d", &rows, &cols);
// 假设source和destination已初始化,有足够的空间存放矩阵
int source[rows][cols];
int destination[cols][rows]; // 注意这里行和列的大小交换了
// ... 先填充源矩阵 source ...
// 转置矩阵
transpose(source, destination, rows, cols);
printf("Transposed Matrix:\n");
for (int i = 0; i < cols; i++) {
for (int j = 0; j < rows; j++) {
printf("%d ", destination[i][j]);
}
printf("\n");
}
return 0;
}
```
在这个例子中,`transpose` 函数接受源矩阵 `source` 和目标矩阵 `destination` 的指针,以及它们的行数和列数作为参数。通过两层循环遍历矩阵并交换元素,实现了矩阵的转置。
阅读全文