实现一个3*4的整型矩阵的转置。
要求:矩阵元素终端输入;转置功能另写一个函数实现。
请附带思路,谢谢。
只能定义一个4*3的新矩阵,或者定义一个比较大的横纵值相等的矩阵。然后横纵坐标值进行交换
#include <stdio.h>
int a[50][50];
int M,N;
void trans(int a[50][50],int M,int N)
{
int i,j,t;
int k = M;
if(k<N)
k = N;
for(i=0;i<k;i++)
for(j=0;j<i;j++)
{
t = *(*(a+i)+j);
*(*(a+i)+j)= *(*(a+j)+i);
*(*(a+j)+i) = t;
}
}
int main()
{
scanf("%d%d",&M,&N);
int i,j;
for(i=0;i<M;i++)
for(j=0;j<N;j++)
scanf("%d",&a[i][j]);
trans(a,M,N);
for(i=0;i<N;i++)
{
for(j=0;j<M;j++)
printf("%d ",a[i][j]);
printf("\n");
}
return 0;
}