有关一个求和后再排序的问题,小女子看不懂啦~~o(∩_∩)o...

来源:百度知道 编辑:UC知道 时间:2024/07/01 04:18:21
问题是这样的,求一个5行3列二维数组每行元素的和,并将求出的和按由小到大的次序排列后输出,可我只能做成这样:
#include <iostream.h>
void main()
{
double a[5][3];
for(int i=0;i<5;i++)
for(int j=0;j<3;j++)
cin>>a[i][j];
double sum;
for( i=0;i<5;i++)
{sum=0.0;
for(int j=0;j<3;j++)//
sum+=a[i][j];
cout<<"第"<<i<<"行和:"<<sum<<endl;
}
}

对于那个求和在排序输出不会做啦~~请大家帮帮忙啦~~校正后请假大虾们走一遍,如果正确,有额外加分的呦,小女子谢过了~~~
大家可以针对我的问题给出解答吗?谢谢...还有...这个怎么冒泡我不会啊...

#include<iostream>
using namespace std;
void main()
{
double a[5][3]={{5,1,3},{6,41,72},{1,12,74},{3,78,11},{9,41,52}};
for(int i=0;i<5;i++)
{
for(int j=1;j<3;j++)
a[i][0]+=a[i][j];
a[i][1]=i;
}
for(i=0;i<5;i++)
{
int k=i;
for(int j=i+1;j<5;j++)
if(a[k][0]>a[j][0])
k=j;
int temp=a[k][0];
int row=a[k][1];
a[k][0]=a[i][0];
a[k][1]=a[i][1];
a[i][0]=temp;
a[i][1]=row;

}
for(i=0;i<5;i++)
cout<<"第"<<a[i][1]+1<<"行的和为:"<<a[i][0]<<endl;
}
我这种算法既节省时间又节省空间。我是这样实现的:将每行从第二个元素开始全部和第一个元素相加。然后排序时每行第一个元素从小到大记录和,而第二个元素则记录该和属于某行。///刚才有点问题,现在改了

for( i=0;i<5;i++)
{sum=0.0;
for(int j=0;j<3;j++)//
sum+=a[i][j];
cout<<"第"<<i<<"行和:"<<sum<<endl;
}
这里用起泡或比较排序走一下 前面加一个循环