C语言计算矩阵的局部最小值

来源:百度知道 编辑:UC知道 时间:2024/05/16 13:35:23
我想请教一下怎么用C语言,求一个二维数组建成的矩阵的局部最小值
比如说矩阵为这样的:
3563214
1433211
4376855

3563214
(1)433211
4(3)76855
被我用括号选中的为它的局部最小值,所谓的局部最小值就是让它和它的上下右左的数进行大小比较,如果这个数都比它的上下左右的数小(不包括对角线),则称它为局部最小,
要出给出可以运行的C源码 输出具体的局部最小值,并注明它所在的行,和列,最后统计局部最小值的个数

void FindPrintLocMin(int **pMatrix,int Rows,int Cols,char *pFileOut,char * Mode )
{
int sum=0;
for(int i=0;i<Rows;i++)
{
for(int j=0;j<Cols;j++)
{
if(i!=0)
if(pMatrix[i][j]>=pMatrix[i-1][j]) continue;
if(i!=Rows-1)
if(pMatrix[i][j]>=pMatrix[i+1][j]) continue;
if(j!=0)
if(pMatrix[i][j]>=pMatrix[i][j-1]) continue;
if(j!=Cols-1)
if(pMatrix[i][j]>=pMatrix[i][j+1]) continue;
printf("the local min is %d its row number is %d,its col number is %d\n",pMatrix[i][j],i,j);
sum++;
}
}
if(sum==0)
{
printf("no local min!\n");
}
else
{
printf("find %d local min(s)!\n",sum);
}
}

咯咯.思路十分清晰
#include <stdio.h>
#include <math.h>
#define N 4
main()
{
int a[N][N],i,j,sign;
printf(&quo