注册 登录
编程论坛 C语言论坛

用指针参数将一个3×3矩阵转置,求大佬指教,为什么N要设置成4

smy1998 发布于 2020-11-22 11:06, 1084 次点击
#include<stdio.h>
#define M 3
#define N 4
void Transport(int (*a)[N],int (*T)[M]);
int main()
{
    int a[M][N],t[M][N];
    int i,j;
    for(i=0;i<M;i++)
        for(j=0;j<N;j++)
            scanf("%d",&a[i][j]);
    Transport(a,t);
    for(i=0;i<M;i++)
        for(j=0;j<N;j++)
            printf("%d",t[i][j]);
    return 0;
 }
void Transport(int (*a)[N],int (*T)[M])
{
    int i,j;
    for(i=0;i<M;i++)
        for(j=0;j<N;j++)
        t[i][j]=a[j][i];
}
1 回复
#2
风过无痕19892020-11-22 12:48
回复 楼主 smy1998
你这个题目要求的条件没有说清楚,要求是顺时针转置,还是逆时针转置?转置多少度?
将 N 设成 4 也是一个疑问,到底是 3 x 3 的数组,还是 3 x 4 的数组?
1