2017.8.10(2)

计算鞍点

给定一个5*5的矩阵,每行只有一个最大值,每列只有一个最小值,寻找这个矩阵的鞍点。
鞍点指的是矩阵中的一个元素,它是所在行的最大值,并且是所在列的最小值。
例如:在下面的例子中(第4行第1列的元素就是鞍点,值为8 )。
11 3 5 6 9
12 4 7 8 10
10 5 6 9 11
8 6 4 7 2
15 10 11 20 25

输入 输入包含一个5行5列的矩阵 输出 如果存在鞍点,输出鞍点所在的行、列及其值,如果不存在,输出"not found"
#include
using namespace std;
int main()
{
	int i,j,a[6][6],max=-100,min=1000000,k,l,c=1;
	for(i=1;i<=5;i++)
	{
	    for(j=1;j<=5;j++)
	    cin>>a[i][j];
	}
	for(i=1;i<=5;i++)
	{
	    for(j=1;j<=5;j++)
	    {
	    	for(k=1;k<=5;k++)
			    if(a[i][k]>max)max=a[i][k];
			for(l=1;l<=5;l++)
			    if(a[l][j]<min)min=a[l][j];
			if(max==min)
			{
			    cout<<i<<" "<<j<<" "<<a[i][j];
			    c=0;
			}
			max=-1000;
			min=1000000;
		}
	}
	if(c==1)cout<<"not founf";
    return 0;
}

提交了无数次,每次都是六分,检查了无数遍还是觉得没错。重输一次后才发现把found输成了founf,以后做题得更仔细一些。

你可能感兴趣的:(2017.8.10(2))