鞍点(二维数组)
生成一个4*5的二维数组,找出二维数组的所有鞍点。所谓鞍点是指该位置的数在该行上最大,而在该列上最小。
#include <iostream>
#include <ctime>
#include <iomanip>
using namespace std;
void main()
{
int a[4][5],i,j,max,min,k,column,count=0;
srand((unsigned)time(NULL));
for(i=0;i<4;i++)
{
for(j=0;j<5;j++)
{
a[i][j]=rand()%90+10;
cout<<a[i][j]<<' ';
}
cout<<endl;
}
for(i=0;i<4;i++)
{
max=a[i][0];
for(j=0;j<5;j++)
{
if(max<a[i][j])
{
max=a[i][j];
column=j;
}
else
column=0;
}
min=a[i][column];
for(k=0;k<4;k++)
{
if(min>a[k][column])
{
min=a[k][column];
}
}
if(max==min)
{
cout<<"鞍点为:"<<a[i][column]<<endl;
count++;
}
}
if(count==0)
cout<<"没有鞍点!"<<endl;
}