#include<iostream.h>
void move (int matrix[3][3])
{
int i, j, k;
for(i=0; i<3; i++)
for (j=0; j<i; j++)
{
k = matrix[i][j];
matrix[i][j] = matrix[j][i];
matrix[j][i] = k;
}
}
void main()
{
int (* array)[3];
array=new int[3][3];
int i,j;
cout<<"input the element of the array";
for(i=0;i<3;i++)
{
cout<<"please input the"<<i<<" first line";
for(j=0;j<3;j++)
{
cin>>array[i][j];
}
}
cout<<"input the array is"<<endl;
for(i=0;i<3;i++)
{
for(j=0;j<3;j++)
{
cout<<array[i][j];
}
cout<<endl;
}
move(array);
for(i=0;i<3;i++)
{
for(j=0;j<3;j++)
{
cout<<array[i][j];
}
cout<<endl;
}
delete [] array;
}
2.***********************
#include <iostream.h>
//void move (int matrix[3][3])
void move( int * matrix)
{
int i, j, k;
for(i=0; i<3; i++)
for (j=0; j<i; j++)
{
k = *(matrix+i*3+j);
*(matrix+i+j*3) = *(matrix+i*3+j);
*(matrix+i*3+j) = k;
}
}
void main()
{
int i, j;
int data[3][3];
int * Pmatrix=data[0,0];
cout << "输入矩阵的元素" << endl;
for(i=0; i<3; i++)
for (j=0; j<3; j++)
{
cout << "第" << i+1 << "行第" << j+1
<<"个元素为:";
cin >> data[i][j];
}
cout << "输入的矩阵的为:" << endl;
for(i=0; i<3; i++)
{
for (j=0; j<3; j++)
cout << data[i][j] << " ";
cout << endl;
}
move(Pmatrix);
cout << "转置后的矩阵的为:" << endl;
for(i=0; i<3; i++)
{
for (j=0; j<3; j++)
cout << data[i][j] << " ";
cout << endl;
}
}
----------------解决方案--------------------------------------------------------