//编写一个函数,将一个3行4列矩阵转置,在主函数中对该矩阵进行输入输出
#include<iostream>
using namespace std;
void main()
{
int a[3][4],b[4][3];//注意这里、别跟楼上的一样写错了
int i,j;
cout<<"请输入一个3行4列矩阵:"<<endl;
for(i=0;i<3;i++)
{
for(j=0;j<4;j++)
{
cin>>a[i][j];
}
}
cout<<"-------------------------------"<<endl;
cout<<"您输入的3行4列矩阵:"<<endl;
for(i=0;i<3;i++)
{
for(j=0;j<4;j++)
{
cout<<a[i][j]<<" ";
}
cout<<endl;
}
cout<<"-------------------------------"<<endl;
cout<<"转置后的3行4列矩阵:"<<endl;
for(i=0;i<3;i++)
{
for(j=0;j<4;j++)
{
b[j][i]=a[i][j];
}
}
for(i=0;i<4;i++)
{
for(j=0;j<3;j++)
{
cout<<b[i][j];
cout<<" ";
}
cout<<endl;
}
}
还有楼主的代码:
cout<<"转置后的3行4列矩阵:"<<endl;
for(i=0;i<4;i++)
{
for(j=0;j<4&&j<i;j++)
{
tmp=a[i][j];
a[i][j]=a[j][i];
a[j][i]=tmp;
}
}
这个算法只适合方阵矩阵。。。
#include<iostream>
using namespace std;
void main()
{
int a[3][4],b[4][3];//注意这里、别跟楼上的一样写错了
int i,j;
cout<<"请输入一个3行4列矩阵:"<<endl;
for(i=0;i<3;i++)
{
for(j=0;j<4;j++)
{
cin>>a[i][j];
}
}
cout<<"-------------------------------"<<endl;
cout<<"您输入的3行4列矩阵:"<<endl;
for(i=0;i<3;i++)
{
for(j=0;j<4;j++)
{
cout<<a[i][j]<<" ";
}
cout<<endl;
}
cout<<"-------------------------------"<<endl;
cout<<"转置后的3行4列矩阵:"<<endl;
for(i=0;i<3;i++)
{
for(j=0;j<4;j++)
{
b[j][i]=a[i][j];
}
}
for(i=0;i<4;i++)
{
for(j=0;j<3;j++)
{
cout<<b[i][j];
cout<<" ";
}
cout<<endl;
}
}
还有楼主的代码:
cout<<"转置后的3行4列矩阵:"<<endl;
for(i=0;i<4;i++)
{
for(j=0;j<4&&j<i;j++)
{
tmp=a[i][j];
a[i][j]=a[j][i];
a[j][i]=tmp;
}
}
这个算法只适合方阵矩阵。。。
相信自已……