|
|
本帖最后由 精精 于 2015-11-26 09:44 编辑
1.找出二维数组的所有的鞍点:该位置元素是其所在行的最大值,其所在列的最小值
{
{12 ,6, 5},
{24, -9, 44}
}
/*
1.找出二维数组的所有的鞍点:该位置元素是其所在行的最大值,其所在列的最小值
{
{-2 ,6, -5},
{12 ,7, 5},
{24, 9, 44}
}
*/
#include <stdio.h>
int main()
{
int a[3][3] = { {-2 ,6, 155},
{12 ,-6, 55},
{24, 16, 44}
};
int i,k; //i,k 表示行下标
int j; //j表示列下标
int max; //行最大值
int max_j;//行最大值的列下标
int min;
for(i=0;i<3;i++)
{
//1.找出第i行的最大值
max = a[0];
max_j = 0;
for(j=1;j<3;j++)
{
if(a[j] > max)
{
max = a[j];
max_j = j;
}
}
//2.判读该最大值是否是所在列的最小值,是则输出。
min = a[0][max_j];
for(k=1;k<3;k++)
{
if(a[k][max_j] < min)
min = a[k][max_j];
}
if(max == min)
printf("a[%d][%d]=%d\n",i,max_j,max);
}
return 0;
}
|
|