用指针表示法将一个5×5的矩阵转置(用函数实现转置),在主函数中打印输出)
时间: 2024-02-12 22:04:25 浏览: 87
C#实现矩阵转置的方法
好的,下面是实现代码:
```c++
#include <iostream>
using namespace std;
void transpose(int *matrix, int n) {
for(int i=0; i<n; i++) {
for(int j=i+1; j<n; j++) {
swap(*(matrix+i*n+j), *(matrix+j*n+i));
}
}
}
int main() {
int matrix[5][5] = {{1,2,3,4,5},
{6,7,8,9,10},
{11,12,13,14,15},
{16,17,18,19,20},
{21,22,23,24,25}};
cout << "Original matrix:" << endl;
for(int i=0; i<5; i++) {
for(int j=0; j<5; j++) {
cout << matrix[i][j] << " ";
}
cout << endl;
}
transpose(&matrix[0][0], 5);
cout << "Transposed matrix:" << endl;
for(int i=0; i<5; i++) {
for(int j=0; j<5; j++) {
cout << matrix[i][j] << " ";
}
cout << endl;
}
return 0;
}
```
我们定义了一个 `transpose` 函数来实现矩阵的转置操作,其中 `matrix` 为指向矩阵首元素的指针, `n` 为矩阵的维度。在 `main` 函数中,我们首先打印输出原始矩阵,然后调用 `transpose` 函数进行转置操作,最后再次打印输出转置后的矩阵。
阅读全文