C语言问题!n行m列矩阵,重排,使同行元素中右边的大于左边的元素,同列元素中下边的元素大于上边的元素。

来源:百度知道 编辑:UC知道 时间:2024/06/03 16:30:49
拜托各位高手快点啊~在线等!

#include <iostream.h>
void main()
{
int a[100][100];int m,n,temp;
int i,j,k;
cout<<"输入行数n和列数m:"<<endl;
cin>>m>>n;
cout<<"输入数组:"<<endl;
for(i=0;i<m;i++)
{
for( j=0;j<n;j++)
cin>>a[i][j];
}
for(i=0;i<m;i++)
{
for(j=0;j<n;j++)
for(k=j+1;k<n;k++)
{
if(a[i][k]<a[i][j])
{
temp=a[i][k];a[i][k]=a[i][j];a[i][j]=temp;
}
}
}
for(j=0;j<n;j++)
{
for(i=0;i<m;i++)
{
for(k=m-1;k>i;k--)
if(a[k][j]<a[i][j])
{
temp=a[k][j];
a[k][j]=a[i][j];
a[i][j]=temp;
}
}
}
cout<<"输出排序后的数组:"<<endl;
for( i=0;i<m;i++)
{
for( j=0;j<n;j++)
cout<<a[i][j]<<" ";
cout<<endl;
}