试题二(共15分)
阅读以下说明和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行的最小元素值,其初值设为该行第0列的元素值*/
(2) ;
for( column = 1;column< (3) ;column++)
if( minElem>a[row][column]) {
minElem = a[row][column];
}
for(k=0;k if(a[row][k]==minElem){ /术对第row行的每个最小元素,判断其是否为所在列的最大元素*/ for(i=0;i if( (4) >minElem) break; if(i>=(5) ){ printf("(%d,%d):%d\n",row,k,minElem);/*输出马鞍点*/ count++; }/*if*/ }/*if*/ }/*for*/ return count, }/*findSaddle*/
订单号:
遇到问题请联系在线客服
订单号:
遇到问题请联系在线客服