/*
* 程序的版权和版本声明部分:
* Copyright (c) 2012, 烟台大学计算机学院
* All rights reserved.
* 文件名称:将3*3的矩阵转置【指针】.cpp
* 作 者:毛通
* 完成日期:2013 年 1月15 日
* 版 本 号:v1.0
* 对任务及求解方法的描述部分: 原矩阵是这样滴
1 2 3
4 5 6
7 8 9
转置完之后是这样滴
1 4 7
2 5 8
3 6 9
* 输入描述:无
* 程序输出:“”
*/
# include <iostream>
using namespace std;
int main ()
{
void move (int *);
int a[3][3],*p,i;
cout<< "put matrix :" <<endl;
for(i=0; i<3;i++)
cin>> a[i][0] >> a[i][1] >> a[i][2]; //输入一行的3个元素
p=& a[0][0];
move (p);
cout << "now matrix:" <<endl;
for(i=0; i<3;i++)
cout << a[i][0] <<" "<< a[i][1]<<" " << a[i][2]<<endl;
cout<<endl;
return 0;
}
void move (int *pointer)
{
int i,j,t;
for(i=0;i<3;i++)
{
for(j=i;j<3;j++)
{
t=*(pointer+3*i+j);
*(pointer+3*i+j)=*(pointer+3*j+i);
*(pointer+3*j+i)=t;
}
}
}
/*
运行结果:
*/