设计一个子函数,将任意n×n的矩阵转置,并在主函数中调用此函数将一个4×4的矩阵转置。
时间: 2023-04-27 17:01:32 浏览: 354
子函数设计如下:
```python
def transpose(matrix):
n = len(matrix)
for i in range(n):
for j in range(i, n):
matrix[i][j], matrix[j][i] = matrix[j][i], matrix[i][j]
return matrix
```
主函数中调用此函数将一个4×4的矩阵转置:
```python
matrix = [[1, 2, 3, 4],
[5, 6, 7, 8],
[9, 10, 11, 12],
[13, 14, 15, 16]]
transposed_matrix = transpose(matrix)
print(transposed_matrix)
```
输出结果为:
```
[[1, 5, 9, 13], [2, 6, 10, 14], [3, 7, 11, 15], [4, 8, 12, 16]]
```
相关问题
设计一个子函数,将任意n×n的矩阵转置,并在主函数中调用此函数将一个4×4的矩阵转置,并在主函数中输出结果。
以下是一个实现矩阵转置的示例代码:
```python
def transpose_matrix(matrix):
n = len(matrix)
for i in range(n):
for j in range(i, n):
matrix[i][j], matrix[j][i] = matrix[j][i], matrix[i][j]
# 测试代码
matrix = [[1, 2, 3, 4],
[5, 6, 7, 8],
[9, 10, 11, 12],
[13, 14, 15, 16]]
transpose_matrix(matrix)
for row in matrix:
print(row)
```
输出:
```
[1, 5, 9, 13]
[2, 6, 10, 14]
[3, 7, 11, 15]
[4, 8, 12, 16]
```
在主函数中调用此函数并输出结果:
```python
matrix = [[1, 2, 3, 4],
[5, 6, 7, 8],
[9, 10, 11, 12],
[13, 14, 15, 16]]
transpose_matrix(matrix)
for row in matrix:
print(row)
```
输出:
```
[1, 5, 9, 13]
[2, 6, 10, 14]
[3, 7, 11, 15]
[4, 8, 12, 16]
```
C语言设计一个子函数,将任意n×n的矩阵转置,并在主函数中调用此函数将一个4×4的矩阵转置,并在主函数中输出结果。
以下是C语言代码实现:
```
#include <stdio.h>
void transpose(int matrix[][4], int n) {
int temp;
for (int i = 0; i < n; i++) {
for (int j = i + 1; j < n; j++) {
temp = matrix[i][j];
matrix[i][j] = matrix[j][i];
matrix[j][i] = temp;
}
}
}
int main() {
int matrix[4][4] = {{1, 2, 3, 4},
{5, 6, 7, 8},
{9, 10, 11, 12},
{13, 14, 15, 16}};
transpose(matrix, 4);
for (int i = 0; i < 4; i++) {
for (int j = 0; j < 4; j++) {
printf("%d ", matrix[i][j]);
}
printf("\n");
}
return 0;
}
```
在主函数中,我们定义了一个4×4的矩阵,然后调用了transpose函数对其进行转置。最后再使用嵌套循环输出转置后的矩阵。transpose函数的实现中,我们使用了一个临时变量temp来交换矩阵中的元素,完成了矩阵的转置。
阅读全文