天天看点

矩阵鞍点判断

#include<stdio.h>
int main()
{
	int i,j,k;
	int row,col;
	int max,flag,ans=0;
	int arr[50][50];
	printf("请输入数组行数:");
	scanf("%d",&row);
	printf("请输入数组列数:");
	scanf("%d",&col);
	
	printf("请输入数组元素:\n");
	for(i=0;i<row;i++)
	{
		for(j=0;j<col;j++)
		{
			scanf("%d",&arr[i][j]);
		}
	}

	for(i=0,ans=0;i<row;i++)
	{
		flag=0;
		max=arr[i][0];
		for(j=0;j<col;j++)
		{
			if(max<arr[i][j])
			{
				max=arr[i][j];
				flag=j;
			}
		}
		for(k=0;k<row;k++)
		{
			if(max>arr[k][flag])
			{
				break;
			}
		}
		if(k==row)
		{
			ans=1;
		}
	}

	if(ans==1)
	{
		printf("有鞍点\n");
	}
	else
	{
		printf("无鞍点\n");
	}

	return 0;
}