
#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的一维数组,传入函数时会以一个数组的起始地址的形式存在,就是一个指针。
二维数组作为函数参数,实参可以直接使用二维数组名,在被调用函数中对形参数组定义可以指定所有维数的大小,也可以省略第一维的大小说明,如:
它们是合法且等价,也可以使用如下形式:
但不能省略第二维的大小,如下面的定义是不合法的,编译时会出错:
因为从实参传递来的是数组的起始地址,如果在形参中不说明列数,编译器将无法定位元素的的位置。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)