qq_45735316 2020-04-08 10:59 采纳率: 94.1%
浏览 1090
已采纳

二维数组列数由用户输入,该怎样在定义函数时传入二维数组作为函数参数?

图片说明
编写一个矩阵转置函数,矩阵的行数和列数在程序中由用户输入

#include <iostream>
using namespace std;
/* run this program using the console pauser or add your own getch, system("pause") or input loop */

void  matrixTranspose(int (*a)[cols],int rows,int cols)    //矩阵转置函数
/*二维数组作为函数参数必须将列数写入形式参数中,
二维数组的作为函数参数的传入方法:
1.int sum_arr(int a[N][N],int size)size的值是行数,二维数组可以看作是
元素为数组的一维数组
example:C++.P207 
2.int sum_arr(int (*a)[cols],int size)
两种方法函数中调用都要用a[i][j] 
数组的长度也要作为参数传入,不在函数的内部定义大小*/ 
{
    int b[N][N]={0};
    int i=0,j=0;
    for(i=0;i<N;i++)
    {
        for(j=0;j<N;j++)
        {
            b[j][i]=a[i][j];
        }
    }
    for(i=0;i<N;i++)
    {
        for(j=0;j<N;j++)
        {
            a[i][j]=b[i][j];
        }
    }
    cout<<"转置后的矩阵"<<endl; 
    for(i=0;i<rows;i++)
    {
        for(j=0;j<cols;j++)
        {
            cout<<a[i][j]<<" ";
        }
        cout<<endl;
    }
 }  
int main(int argc, char** argv) {
    int rows=0,cols=0;
    int i=0,j=0;
    cout<<"请输入行数和列数"<<endl;
    cin>>rows>>cols;
    int a[rows][cols]={0};
    cout<<"请输入矩阵元素"<<endl; 
    for(i=0;i<rows;i++)
    {
        for(j=0;j<cols;j++)
        {
            cin>>a[i][j];
            cout<<a[i][j]<<" ";
        }
        cout<<endl;
     } 
    matrixTranspose(a,rows,cols);
    return 0;
}
  • 写回答

1条回答 默认 最新

  • 小学狗喵喵叫 2020-04-08 11:53
    关注
    void matrixTranspose(int **a,int n)
    {
        int *b = new int[n];
        for (int i = 0; i < n; i++)
        {
            b[i] = (int)a[i];
        }
        for (int i = 0; i < n; i++)
        {
            a[i] = (int*)b[n - i - 1];
        }
        delete[]b;
    }
    
    int main()
    {
    ...
    matrixTranspose((int**)a3, rows*cols);
    ...
    }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 我想在一个软件里添加一个优惠弹窗,应该怎么写代码
  • ¥15 fluent的在模拟压强时使用希望得到一些建议
  • ¥15 STM32驱动继电器
  • ¥15 Windows server update services
  • ¥15 关于#c语言#的问题:我现在在做一个墨水屏设计,2.9英寸的小屏怎么换4.2英寸大屏
  • ¥15 模糊pid与pid仿真结果几乎一样
  • ¥15 java的GUI的运用
  • ¥15 Web.config连不上数据库
  • ¥15 我想付费需要AKM公司DSP开发资料及相关开发。
  • ¥15 怎么配置广告联盟瀑布流