+ -
当前位置:首页 → 问答吧 → 新手求助 c++实现矩阵转置,需要用指针

新手求助 c++实现矩阵转置,需要用指针

时间:2011-12-01

来源:互联网

#include <iostream>
using namespace std;
int a,i,j,m[3][3];
int *p;
int main()
{
int change();
for(i=0;i<3;i++)
cin>>m[i][0]>>m[i][1]>>m[i][2];
p=&m[0][0];
change();
for(i=0;i<3;i++)
{
cout<<m[i][0]<<" "<<m[i][1]<<" "<<m[i][2]<<" ";
cout<<endl;
}
cin>>a;
return 0;
}
int change()
{
for(i=0;i<3;i++)
for(j=i;j<3;j++)
{
p=&m[i][j];
m[i][j]=m[j][i];
m[j][i]=*p-(i+j);
}
return 0;
}


要将3*3矩阵转置,请高手看看哪有问题,自己认为应该change部分不对。

作者: qsy7410   发布时间: 2011-12-01

int change();
放错地方了,不
#include <iostream>
using namespace std;
int a,i,j,m[3][3];
int *p;
int change();

int main()
{
  for(i=0;i<3;i++)
  cin>>m[i][0]>>m[i][1]>>m[i][2];
  p=&m[0][0];
  change();
  for(i=0;i<3;i++)
  {
  cout<<m[i][0]<<" "<<m[i][1]<<" "<<m[i][2]<<" ";
  cout<<endl;
  }
  cin>>a;
  return 0;
}
int change()
{
  for(i=0;i<3;i++)
  for(j=i;j<3;j++)
  {
  p=&m[i][j];
  m[i][j]=m[j][i];
  m[j][i]=*p-(i+j);
  }
  return 0;
}
能放在函数内.
[code=C/C++][/code]

作者: vilnies   发布时间: 2011-12-01

不是,运行得了,但结果不对。

作者: qsy7410   发布时间: 2011-12-01

热门下载

更多