求出 m×n 矩阵的鞍点
描述
求出 m×n 矩阵的鞍点。矩阵的鞍点是指在行中最大,在列中最小的的数组元素。
例如:对如下 3×4 矩阵:
9 4 7 3
6 1 0 2
7 8 6 5
鞍点就是第2行的第一个元素6
提示 🔑:先判断矩阵的各行最大值,再看这个最大值是否是在列中的最小值,如果是这说明该数是鞍点,输出该点及其下标。
#include <stdio.h>
int main()
{
int arr[3][4] = { 0 };
int i = 0;
int j = 0;
int pas = 1;
for (i = 0; i < 3; i++)
{
for (j = 0; j < 4; j++)
{
scanf("%d",&arr[i][j]);
}
}
for (i = 0; i < 3; i++)
{
int k = 0; //最大数的列号
int I_MAX = 0;
for (j = 0; j < 4; j++)
{
if (arr[i][j] > I_MAX)
{
I_MAX = arr[i][j];
k = j;
}
}
for (i = 0;i < 3;i++)
{ //判断是否是所在列的最小值
if (arr[i][k] <= arr[0][k] && arr[i][k] <= arr[1][k] && arr[i][k] <= arr[2][k])
{
printf("%d\n", arr[i][k]);
printf("下标为%d %d", i,k);
pas = 0;
}
}
}
if (pas)
printf("找不到");
return 0;
}