#include <stdio.h>
#include <stdlib.h>
int main(void)
{
int m,n;
int i,j,k;
int *a;
int noExist = 1;
scanf("%d%d", &m, &n);
a = (int*)malloc(sizeof(int)*m*n);
for(i=0;i<m*n;i++){
scanf("%d", &a[i]);
}
for(i=1;i<m-1;i++){ //从矩阵的第二行开始,到倒数第一行结束
for(j=1;j<n-1;j++){ //从矩阵的第二列开始,到倒数第一行结束
k = n*i+j;
if(a[k]>a[k-1] && a[k]>a[k+1] && a[k]>a[k-n] && a[k]>a[k+n]){//判断是否满足局部最大
printf("%d %d %d\n", a[k], i+1, j+1);
noExist = 0;
}
}
}
if(noExist)printf("None %d %d", m, n);//在循环中没有发现有局部最大值,输出None
free(a);
return 0;
}
求矩阵的局部极大值 (15分)
最新推荐文章于 2024-05-18 03:30:00 发布