一些項目――二維數組的置換
來源:程序員人生 發布時間:2015-07-24 09:43:16 閱讀次數:3943次
題目描寫
寫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個警示吧,記得有時間溫習前面的內容
生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈