当前位置:首页
>
查试题
>
阅读以下说明和C函数,填充函数中的空缺,将解答填入答题纸的对应栏内。【说明】如果矩阵A中的元素A[i,j]满足条件: A[i,j]是第i行中值最小的元素,且又是第j列中值最大的元素,则称之为该矩阵的一个马鞍点。一个矩阵可能存在多个马鞍点,也可能不存在马鞍点。下面的函数求解并输出一个矩阵中的所有马鞍点,最后返回该矩阵中马鞍点的个数。【 C 函数】int findSaddle(int a[] [N],int M){ /* a 表示 M 行 N 列矩阵, N 是宏定义符号常量*/ int row,column ,i,k; int minElem; int count = 0; /* count 用于记录矩阵中马鞍点的个数*/ for ( row = 0; row < (1) ; row++) { /* minElem 用于表示第 row 行的最小元素值,其初值设为该行第 o 列的元素值*/ (2) for ( column = 1; column < (3) ; column++) if ( minElem > a[row] [column] ){ minElem = a[row] [column); }for ( k = 0; k < N; k++ ) if ( a [row] [k] ==minElem ) { /*对第 row 行的每个最小元素,判断其是否为所在列的最大元素*/ for (i = 0; i < M; i++) if ( (4) > minElem ) break; if (i>= (5) ) { printf(" (%d ,%d): %d" ,row ,k ,minElem); /*输出马鞍点*/ count++; }/*if*/ }/*if*/ }/*for*/ return count; }/*findSaddle*/