m0_45292736 2021-12-11 20:37 采纳率: 100%
浏览 37
已结题

c++课程实验,请大家帮助。

实现一个3*4的整型矩阵的转置。
要求:矩阵元素终端输入;转置功能另写一个函数实现。
请附带思路,谢谢。

  • 写回答

1条回答 默认 最新

  • CSDN专家-link 2021-12-11 20:38
    关注

    只能定义一个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;
    }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录

报告相同问题?

问题事件

  • 系统已结题 12月19日
  • 已采纳回答 12月11日
  • 创建了问题 12月11日