程序员人生 网站导航

一些项目――二维数组的置换

栏目:php教程时间:2015-07-24 09:43:16

题目描写

写1个函数,使给定的1个2维数组(3×3)转置,即行列互换。

输入

1个3x3的矩阵

输出

转置后的矩阵

样例输入

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个警示吧,记得有时间温习前面的内容


------分隔线----------------------------
------分隔线----------------------------

最新技术推荐