编写3×3的矩阵转置函数,使用数组保存3×3矩阵
时间: 2024-12-16 21:25:02 浏览: 1
编写并测试3*3矩阵转置函数,使用数组保存3*3矩阵
5星 · 资源好评率100%
在C语言中,我们可以使用一维数组来表示3x3矩阵,因为每个元素都可以通过两个下标(行和列)唯一确定。下面是编写一个函数,用于3x3矩阵的转置:
```c
#include <stdio.h>
// 定义一个函数来计算并返回3x3矩阵的转置
void transpose(int matrix[3][3], int transposed[3][3]) {
int i, j;
// 转置过程
for (i = 0; i < 3; i++) {
for (j = 0; j < 3; j++) {
transposed[j][i] = matrix[i][j]; // 将原矩阵的行元素赋值给转置矩阵的列
}
}
}
// 主函数演示如何使用转置函数
int main() {
int original[3][3] = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}};
int transposed[3][3];
// 显示原始矩阵
printf("Original Matrix:\n");
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 3; j++) {
printf("%d ", original[i][j]);
}
printf("\n");
}
// 转置矩阵
transpose(original, transposed);
// 显示转置后的矩阵
printf("Transposed Matrix:\n");
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 3; j++) {
printf("%d ", transposed[i][j]);
}
printf("\n");
}
return 0;
}
```
在这个程序中,`transpose`函数接受一个3x3矩阵`matrix`和另一个空的3x3矩阵`transposed`,并将`matrix`的元素转置到`transposed`中。在`main`函数中,我们首先初始化了一个3x3矩阵,然后调用`transpose`函数将其转置,并最后打印出转置后的矩阵。
阅读全文