[C] 纯文本查看 复制代码 void find_saddle2()
{
int i,j,m,n,i_idx,j_idx,j_max,i_min,i2;
int a[3][4]={{1, 2, 8, 4},
{5, 6, 9, 8},
{19, 10, 11, 12}};
m = 3;
n = 4;
// 遍历行
for (i = 0; i < m; i++)
{
// 遍历行的每个元素,找行最大值
j_max = a[i][0];
// 记录最大元素的下标
j_idx = 0;
for (j = 0; j< n; j++)
{
if (j_max < a[i][j])
{
// 记录行最大值下标与行最大值
j_idx = j;
j_max = a[i][j_idx];
}
}
// 判断行最大值是不是列最小值
i_min = a[0][j_idx];
i_idx = 0;
for (i2 = 0; i2< m; i2 ++)
{
if (a[i2][j_idx] < i_min)
{
i_idx = i2;
i_min = a[i_idx][j_idx];
}
}
if (j_max == i_min)
{
printf("鞍点是[%d][%d]=%d\n",i_idx,j_idx,a[i_idx][j_idx]);
}
}
}
|