请看下这段代码??
#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;
}
}