2024-10-14 08:01:11
#include <stdio.h>
#ifndef NULL
#define NULL ((void *)0)
#endif
int *FindSaddle(int nRow, int nCol, int *pMatrix);
int main(int argc, char *argv[])
{
int *pRes = NULL;
// 矩阵定义代码段, 如
int A[3][3] = {{1,2,3},{4,5,6},{7,8,9},};
pRes = FindSaddle(/*nRow*/3, /*nCol*/3, /*pMatrix*/A[0]);
if (pRes != NULL)
{
printf("%d",*pRes);
}
else
{
printf("未找到\n");
}
return 0;
}
int *FindSaddle(int nRow, int nCol, int *pMatrix)
{
int i, nMin;
int j, nMax;
for (i=0; i<nRow; i++)
{
for (nMin=0, j=1; j<nCol; j++)
{
if (pMatrix[i*nCol + j] < pMatrix[i*nCol + nMin])
nMin = j;
}
for (nMax=0, j=1; j<nRow; j++)
{
if (pMatrix[j*nRow + nMin] > pMatrix[nMax*nRow + nMin])
nMax = j;
}
if (i == nMax)
return &pMatrix[i*nRow + nMin];
//return pMatrixi*nRow + nMin;
}
return NULL;
}
望采纳!!!!