读书人

请看下这段代码?解决办法

发布时间: 2012-02-10 21:27:42 作者: rapoo

请看下这段代码??
#include <iostream.h>

class Matrix
{
private:
int matrix[3][3];
public:
void transpose()
{
cout < <endl < < "a ";
int n=0;
for (int i=0;i <3;i++)
{
for (int j=0;i <3;j++)
{

n=matrix[i][j];
matrix[i][j]=matrix[j][i];
matrix[j][i]=n;
}


}

}
void getMatrix()
{
cout < < "please enter the matrix (3*3)! " < <endl;
for (int a=0;a <3;a++)
{
for (int b=0;b <3;b++)
{
int number=0;
cin > > number;
matrix[a][b]=number;
//cout < < "ok2 ";
}



}



}
void printMatrix()
{
cout < < "The matrix is : " ;
//cout < <matrix[2][2] ;
for (int i=0;i <3;i++)
{
cout < < endl;
for (int j=0;j <3;j++)
{
cout < < matrix[i][j];


}
}
}
};




void main ()
{
Matrix m1;

m1.getMatrix();
m1.printMatrix();
m1.transpose();
m1.printMatrix();
}


这是一段c++代码,为什么transpose这个函数不执行,这段代码的功能是对3*3的矩阵进行转置!

[解决办法]
呵呵

很搞笑的说

int n=0;
for (int i=0;i <3;i++)
{
for (int j=0;j <=i;j++) //这个地方 开始是个死循环 看了半天才看出来
{

n=matrix[i][j];
matrix[i][j]=matrix[j][i];
matrix[j][i]=n;
}
}

读书人网 >C++

热点推荐