![]() |
#2
qq10235692232011-03-07 14:30
#include<iostream>
using namespace std; class tran { private: int a; int b; public: int matrix[100][100]; tran(int c,int d) { if(a==0||b==0) cout<<"NO"<<endl; if(a>100||b>100) cout<<"no"<<endl; } int in() { for(int i=0;i!=a;++i) { for(int j=0;j!=b;++j) { int n; cin>>n; matrix[i][j]=n; } } return 0; } int change() { for(int i=0;i!=a;++i) { for(int j=0;j!=b;++j) { int temp=0; temp=matrix[j][i]; matrix[j][i]=matrix[i][j]; matrix[i][j]=temp; } } return 0; } int print2() { for(int i=0;i!=b;++i) { for(int j=0;j!=a;++j) { cout<<matrix[i][j]<<" "; } cout<<endl; } return 0; } int print() { for(int i=0;i!=a;++i) { for(int j=0;j!=b;++j) { cout<<matrix[i][j]<<" "; } cout<<endl; } return 0; } }; int main() { int c,d; cout<<"请输入矩阵的行宽:"<<endl; cin>>c; cout<<"请输入矩阵的高:"<<endl; cin>>d; tran f(c,d); cout<<"请输入"<<c<<"*"<<d<<"个元素:"<<endl; f.in(); f.print2(); f.change(); cout<<"转置后的矩阵:"<<endl; f.print(); return 0; } |

#include<iostream>
using namespace std;
class tran
{
private:
int a;
int b;
public:
int matrix[100][100];
tran(int c,int d):a(c),b(d)
{
if(a==0||b==0)
cout<<"NO"<<endl;
if(a>100||b>100)
cout<<"no"<<endl;
}
int in()
{
for(int i=0;i!=a;++i)
{
for(int j=0;j!=b;++j)
{
int n;
cin>>n;
matrix[i][j]=n;
}
}
return 0;
}
int change()
{
for(int i=0;i!=a;++i)
{
for(int j=0;j!=b;++j)
{
int temp=0;
temp=matrix[j][i];
matrix[j][i]=matrix[i][j];
matrix[i][j]=temp;
}
}
return 0;
}
int print2()
{
for(int i=0;i!=b;++i)
{
for(int j=0;j!=a;++j)
{
cout<<matrix[j][i]<<" ";
}
cout<<endl;
}
return 0;
}
int print()
{
for(int i=0;i!=a;++i)
{
for(int j=0;j!=b;++j)
{
cout<<matrix[j][i]<<" ";
}
cout<<endl;
}
return 0;
}
};
int main()
{
int c,d;
cout<<"请输入矩阵的行宽:"<<endl;
cin>>c;
cout<<"请输入矩阵的高:"<<endl;
cin>>d;
tran f(c,d);
cout<<"请输入"<<c<<"*"<<d<<"个元素:"<<endl;
f.in();
f.print2();
f.change();
cout<<"转置后的矩阵:"<<endl;
f.print();
return 0;
}
一个矩阵转置的程序无法得到想要的结果,各位帮忙看一下! using namespace std;
class tran
{
private:
int a;
int b;
public:
int matrix[100][100];
tran(int c,int d):a(c),b(d)
{
if(a==0||b==0)
cout<<"NO"<<endl;
if(a>100||b>100)
cout<<"no"<<endl;
}
int in()
{
for(int i=0;i!=a;++i)
{
for(int j=0;j!=b;++j)
{
int n;
cin>>n;
matrix[i][j]=n;
}
}
return 0;
}
int change()
{
for(int i=0;i!=a;++i)
{
for(int j=0;j!=b;++j)
{
int temp=0;
temp=matrix[j][i];
matrix[j][i]=matrix[i][j];
matrix[i][j]=temp;
}
}
return 0;
}
int print2()
{
for(int i=0;i!=b;++i)
{
for(int j=0;j!=a;++j)
{
cout<<matrix[j][i]<<" ";
}
cout<<endl;
}
return 0;
}
int print()
{
for(int i=0;i!=a;++i)
{
for(int j=0;j!=b;++j)
{
cout<<matrix[j][i]<<" ";
}
cout<<endl;
}
return 0;
}
};
int main()
{
int c,d;
cout<<"请输入矩阵的行宽:"<<endl;
cin>>c;
cout<<"请输入矩阵的高:"<<endl;
cin>>d;
tran f(c,d);
cout<<"请输入"<<c<<"*"<<d<<"个元素:"<<endl;
f.in();
f.print2();
f.change();
cout<<"转置后的矩阵:"<<endl;
f.print();
return 0;
}