数组求最大值

来源:百度知道 编辑:UC知道 时间:2024/05/28 00:43:26
我希望通过b数组将a数组每行最大的数值求出来,并输出,现在程序输出的结果不是我想要的,谁帮我改改,感谢了

#include <iostream>
#define N 2
using namespace std;
void main()
{
int a[N][N];
int b[N];
int i,j;
for(i=0;i<N;i++)
b[i]=-10000;

for(i=0;i<N;i++)
{for(j=0;j<N;j++)
cin>>a[i][j];
if(b[i]<a[i][j]) b[i]=a[i][j];
cout<<a[i][j]<<endl;
}
for(i=0;i<N;i++)
cout<<b[i]<<endl;
}

for(i=0;i<N;i++)
{for(j=0;j<N;j++)
cin>>a[i][j];
if(b[i]<a[i][j]) b[i]=a[i][j];
cout<<a[i][j]<<endl;
}

有问题,改成这样
for(i=0;i<N;i++)
{
b[i]=-10000000000000;//总之这个数要足够小
for(j=0;j<N;j++)
cin>>a[i][j];
for(j=0;j<N;j++) //必须要这句,否则就只是比较一个了
{
if(b[i]<a[i][j])
b[i]=a[i][j];
}
cout<<a[i][j]<<endl;
}

for(i=0;i<N;i++)
for(j=0;j<N;j++)
{
cin>>a[i][j];
if(b[i]<a[i][j]) b[i]=a[i][j];
cout<<a[i][j]<<endl;
}
大括号位置错了
你这样得到的值是一列中的最大值
1 3
2 4
这个数组的话,按照你程序输入的顺序应该是1234,那么数组b的值就应该是2 4
如果你想要得到3 4的话,把双重for循环中的所有a[i][j]改成a[j][i]就行了

原程序修改如下:

//---------------------------------------------------------------------------

#include <iostream>
#define N 2
using namespace std;
void main()
{
int