一些项目――二维数组的置换
来源:程序员人生 发布时间:2015-07-24 09:43:16 阅读次数:3785次
题目描写
写1个函数,使给定的1个2维数组(3×3)转置,即行列互换。
输入
输出
样例输入
1 2 3
4 5 6
7 8 9
样例输出
1 4 7
2 5 8
3 6 9
解答
#include<iostream>
using namespace std;
void zhuangzhi(int c[3][3])
{
int b[3][3],i,j;
for(i=0;i<3;i++)
for(j=0;j<3;j++)
b[j][i]=c[i][j];
for(i=0;i<3;i++)
for(j=0;j<3;j++)
c[i][j]=b[i][j];
}
int main()
{
int a[3][3];
int i,j;
for(i=0; i<3; i++)
for(j=0; j<3; j++)
cin>>a[i][j];
zhuangzhi(a);
for(i=0; i<3; i++)
{
for(j=0; j<3; j++)
cout<<a[i][j]<<" ";
cout<<endl;
}
return 0;
}
渐渐发现自己忘记了上学期的1些内容,1开始只想着形参的改变不会影响实参,所以在形参那里各种指针,援用,最后还要取地址甚么的,统统报错。
用了许多办法才知道2维函数本身就是指针,对形参的改变就可以改变实参,虽然不知道为何c=b没有改变。。。。
算是给自己1个警示吧,记得有时间温习前面的内容
生活不易,码农辛苦
如果您觉得本网站对您的学习有所帮助,可以手机扫描二维码进行捐赠