码迷,mamicode.com
首页 > 编程语言 > 详细

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

时间:2015-05-01 09:23:20      阅读:190      评论:0      收藏:0      [点我收藏+]

标签:c++   cpp   编程   计算机   指针   

题目描述

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

输入

一个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;
}


渐渐发现自己忘记了上学期的一些内容,一开始只想着形参的改变不会影响实参,所以在形参那里各种指针,引用,最后还要取地址什么的,统统报错。
用了许多办法才知道二维函数本身就是指针,对形参的改变就能改变实参,虽然不知道为什么c=b没有改变。。。。
算是给自己一个警示吧,记得有时间复习前面的内容


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

标签:c++   cpp   编程   计算机   指针   

原文地址:http://blog.csdn.net/blue_skyrim/article/details/45417631

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!