閱讀以下說(shuō)明和C函數(shù),填充函數(shù)中的空缺,將解答填入答題紙的對(duì)應(yīng)欄內(nèi)。
【說(shuō)明】
如果矩陣A中的元素A[i,j]滿足條件: A[i,j]是第i行中值最小的元素,且又是第j列中值最大的元素,則稱之為該矩陣的一個(gè)馬鞍點(diǎn)。
一個(gè)矩陣可能存在多個(gè)馬鞍點(diǎn),也可能不存在馬鞍點(diǎn)。下面的函數(shù)求解并輸出一個(gè)矩陣中的所有馬鞍點(diǎn),最后返回該矩陣中馬鞍點(diǎn)的個(gè)數(shù)。
【 C 函數(shù)】
int findSaddle(int a[] [N],int M)
{ /* a 表示 M 行 N 列矩陣, N 是宏定義符號(hào)常量*/
int row,column ,i,k;
int minElem;
int count = 0; /* count 用于記錄矩陣中馬鞍點(diǎn)的個(gè)數(shù)*/
for ( row = 0; row < (1) ; row++) {
/* minElem 用于表示第 row 行的最小元素值,其初值設(shè)為該行第 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 ) {
/*對(duì)第 row 行的每個(gè)最小元素,判斷其是否為所在列的最大元素*/
for (i = 0; i < M; i++)
if ( (4) > minElem ) break;
if (i>= (5) ) {
printf(" (%d ,%d): %d\n" ,row ,k ,minElem); /*輸出馬鞍點(diǎn)*/
count++;
}/*if*/
}/*if*/
}/*for*/
return count;
}/*findSaddle*/
10年專注信管,信管教育專注者,信管網(wǎng)優(yōu)勢(shì)
免費(fèi)試聽(tīng)信管網(wǎng)信息系統(tǒng)項(xiàng)目管理師課程
全國(guó)前50名高分學(xué)員訪談:董麗(174)、李思...
信息系統(tǒng)項(xiàng)目管理師高端班培訓(xùn)課程
信管老師100小時(shí)直播課程
軟考報(bào)名專題(報(bào)名時(shí)間、入口等)
中級(jí)系統(tǒng)集成項(xiàng)目管理工程師通關(guān)課程
系統(tǒng)規(guī)劃與管理師課程(考試介紹與題型分析)
軟題庫(kù):軟考在線題庫(kù)、支持手機(jī)答題