考试
2020-03-14 11:26:41

1594 试题二(共15分)阅读以下说明和C函数,填充函数中

题目描述

试题二(共15分)阅读以下说明和C函数,填充函数中的空缺,将解答填入答题纸的对应栏内。【说明】如果矩



试题二(共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<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\n",row,k,minElem);/*输出马鞍点*/

count++;

}/*if*/

}/*if*/

}/*for*/

return count,

}

答案解析

00****58 (1)M(2

加载中...
AI正在思考中,请稍候...