#include <iostream>
using namespace std;
void zhuanzhi(int (*p)[3]); //必须声明为int (*p)[3]
int main()
{
int (*p)[3]; //数组指针
p=new int[3][3]; //动态分配内存
cout<<"请输入一个3*3的矩阵:"<<endl;
for(int i=0;i<3;i++)
for(int j=0;j<3;j++)
{
cin>>p[i][j];
cout<<p[i][j]<<" ";
if((j+1)%3==0)
cout<<endl;
}
cout<<"转置后的矩阵为:"<<endl;
zhuanzhi(p);
delete[] p; //删除内存,动态分配数组,在删除时要在指针名前加“[]”
return 0;
}
void zhuanzhi(int (*p)[3])
{
int a[3][3]; //利用另一个数组来实现对矩阵的输出
for(int i=0;i<3;i++)
for(int j=0;j<3;j++)
{
a[i][j]=p[j][i];
cout<<a[i][j]<<" ";
if((j+1)%3==0)
cout<<endl;
}
}
使用动态内存分配生成动态数组完成矩阵的转置,使用指针实现函数的功能。
最新推荐文章于 2023-08-28 15:17:34 发布
本文介绍了一个简单的C++程序,用于输入一个3x3的矩阵并输出其转置矩阵。程序使用了数组指针来操作矩阵,并通过函数实现了矩阵的转置。
12万+

被折叠的 条评论
为什么被折叠?



