用C++语言编写:输入一个2维矩阵,输出这个矩阵的转置矩阵

用C++语言编写:输入一个2维矩阵,输出这个矩阵的转置矩阵,第1张

#include <iostream>

using namespace std;

int main()

{

   int m,n,i,j;

   int data[100][100];

   cout<<"请输入矩阵的行数和列数"<<endl;

   cout<<"行数:"<<endl;

   cin>>m;

   cout<<"列数:"<<endl;

   cin>>n;

   cout<<"请输入矩阵的元素"<<endl;

   for(i=0;i<m;i++)

    for(j=0;j<n;j++)

    {

     cin>>data[i][j];

    }

   cout<<"你输入的矩阵为:"<<endl;

   for(i=0;i<m;i++)

   {

    for(j=0;j<n;j++)

    {

     cout<<data[i][j]<<' ';

    }

    cout<<endl;

   }

   cout<<"你输入的矩阵的转置矩阵为:"<<endl;

   for(i=0;i<n;i++)

   {

    for(j=0;j<m;j++)

    {

     cout<<data[j][i]<<' ';

    }

    cout<<endl;

   }

   return 0;

}

根据提示输入,可以得到结果

矩阵,或称为二维数组,其中格式如

[0:[0,1,2],

1:[0,1,2],

2:[0,1,2]]

这个就是3x3矩阵,或二维数组,

其中 Matrix[0] 就表示,高维的第一个向量,或是二维数组中,下标为0的一维数组,传入函数时会以一个数组的起始地址的形式存在,就是一个指针。

二维数组作为函数参数,实参可以直接使用二维数组名,在被调用函数中对形参数组定义可以指定所有维数的大小,也可以省略第一维的大小说明,如:

它们是合法且等价,也可以使用如下形式:

但不能省略第二维的大小,如下面的定义是不合法的,编译时会出错:

因为从实参传递来的是数组的起始地址,如果在形参中不说明列数,编译器将无法定位元素的的位置。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/langs/13495857.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2025-09-01
下一篇2025-09-01

发表评论

登录后才能评论

评论列表(0条)

    保存