生成一個4*5的二維陣列,找出二維陣列的所有鞍點。所謂鞍點是指該位置的數在該行上最大,而在該列上最小。

Holy-lyc發表於2013-11-13


鞍點(二維陣列)
    生成一個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;
}

相關文章