#include<iostream>
#include<cstdio>
using namespace std;
void InputMatrix(int (*a)[4],int n,int m) {
for(int i=0;i<n;i++)
for(int j=0;j<m;j++)
printf("%d",*(a+i)+j);
}
void OutputMatrix(int (*b)[4],int n,int m) {
for(int i=0;i<n;i++) {
for(int j=0;j<m;j++)
printf("%d",*(*(b+i)+j));
printf("\n");
}
}
void MatrixTranspose(int (*a)[4],int *(b)[3]) {
for(int i=0;i<4;i++) {
for(int j=0;j<3;j++)
b[i][j]=a[j][i];
}
}
int main()
{
int a[3][4],b[4][3];
cout<<"input 3X4 matrix"<<endl;
InputMatrix(a,3,4);
MatrixTranspose(a,b);
cout<<"the Transposex Matrix is"<<endl;
OutputMatrix(b,4,3);
getchar();
return 0;
}
编译的结果是这样:

有点问题,暂时放在这里。
原文:http://www.cnblogs.com/dd2hm/p/6750216.html