找二维数组鞍点

【问题描述】编写程序,找出一个4x5二维数组的鞍点,即该位置上的元素在该行上最大,在该列上最小(也可能没有鞍点)。

【输入形式】根据系统提示,输入一个4x5二维数组。

【输出形式】如果是鞍点输出这个点,如果不是鞍点输出“It does not exist!”。

【样例输入】

-3 4 15 2 1 2 3 22 43 8 9 17 26 -13 4 8 24 34 23 5

【样例输出】

Please enter a 4x5 two-dimensional array:

a[0][2]=15

注意:二维数组鞍点要么没有,要么唯一确定

#include 
using namespace std;
int main()
{
	const int n = 4, m = 5;
	int a[n][m];
	int i, j, max, maxj;
	bool flag;
	cout << "Please enter a 4x5 two-dimensional array:" << endl;
	for (i = 0; i < n; i++)
		for (j = 0; j < m; j++)
			cin >> a[i][j];
	for (i = 0; i < n; i++)
	{
		max = a[i][0];    //为了寻找该行的最大值
		for (j = 0; j < m; j++)
		{
			if (max < a[i][j])
			{
				max = a[i][j]; 
				maxj = j;  //记录最大值所在的列号,下面还要用
			}
		}
		flag = 1;
		for (int k = 0; k < n; k++)
		{
			if (max > a[k][maxj])  
			{
				flag = 0;		 		
				continue;
			}
		}
		if (flag == 1)
		{
			cout <

你可能感兴趣的:(算法,数据结构)