实现三行三列转置
时间: 2024-02-19 13:03:50 浏览: 42
假设我们要转置的矩阵为mat,可以使用以下代码实现三行三列转置:
```
for i in range(3):
for j in range(i, 3):
mat[i][j], mat[j][i] = mat[j][i], mat[i][j]
```
这里使用了两个循环,第一个循环控制行数i,第二个循环控制列数j。由于转置矩阵是关于主对角线对称的,所以我们只需要对矩阵的上三角部分进行操作。在每次循环中,我们将mat[i][j]和mat[j][i]交换即可完成转置。
相关问题
C语言 实现三行三列矩阵的转置,即行列互换
以下是C语言实现三行三列矩阵的转置的代码:
```c
#include <stdio.h>
int main() {
int matrix[3][3] = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}};
int i, j, temp;
printf("原矩阵:\n");
for (i = 0; i < 3; i++) {
for (j = 0; j < 3; j++) {
printf("%d ", matrix[i][j]);
}
printf("\n");
}
// 转置
for (i = 0; i < 3; i++) {
for (j = i+1; j < 3; j++) {
temp = matrix[i][j];
matrix[i][j] = matrix[j][i];
matrix[j][i] = temp;
}
}
printf("转置后的矩阵:\n");
for (i = 0; i < 3; i++) {
for (j = 0; j < 3; j++) {
printf("%d ", matrix[i][j]);
}
printf("\n");
}
return 0;
}
```
输出结果为:
```
原矩阵:
1 2 3
4 5 6
7 8 9
转置后的矩阵:
1 4 7
2 5 8
3 6 9
```
c语言四行三列的矩阵转置
以下是C语言实现四行三列矩阵转置的代码示例:
```c
#include <stdio.h>
int main() {
int matrix[4][3] = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}, {10, 11, 12}}; // 定义原始矩阵
printf("原始矩阵:\n");
for(int i = 0; i < 4; i++) {
for(int j = 0; j < 3; j++) {
printf("%d ", matrix[i][j]);
}
printf("\n");
}
int transposed[3][4]; // 定义转置后的矩阵
for(int i = 0; i < 3; i++) {
for(int j = 0; j < 4; j++) {
transposed[i][j] = matrix[j][i]; // 转置操作
}
}
printf("转置后的矩阵:\n");
for(int i = 0; i < 3; i++) {
for(int j = 0; j < 4; j++) {
printf("%d ", transposed[i][j]);
}
printf("\n");
}
return 0;
}
```
输出结果为:
```
原始矩阵:
1 2 3
4 5 6
7 8 9
10 11 12
转置后的矩阵:
1 4 7 10
2 5 8 11
3 6 9 12
```