二維陣列求鞍點

2021-08-30 11:37:20 字數 971 閱讀 4077

題目內容:

給定乙個n*n矩陣a。矩陣a的鞍點是乙個位置(i,j),在該位置上的元素是第i行上的最大數,第j列上的最小數。乙個矩陣a也可能沒有鞍點。

你的任務是找出a的鞍點。

輸入格式:

輸入的第1行是乙個正整數n, (1<=n<=100),然後有n行,每一行有n個整數,同一行上兩個整數之間有乙個或多個空格。

輸出格式:

對輸入的矩陣,如果找到鞍點,就輸出其下標。下標為兩個數字,第乙個數字是行號,第二個數字是列號,均從0開始計數。

如果找不到,就輸出

no題目所給的資料保證了不會出現多個鞍點。

輸入樣例:

1 7 4 1 

4 8 3 6 

1 6 1 2 

0 7 8 9

輸出樣例:

2 1** 演算法分析

先找出行中的最大值,比如arr[i][j],也就是找到最大值的列下標j

保持列下標不變,行號i++;找到沒有比它小的就是鞍點,如果沒有找到

那麼我們回到一開始的時候,尋找之前的下一行中的最大值,然後判斷它是不是它所

在列的最小值

#include int main()

} int row = 0, column = 0, k;

int flog = 0;

for ( i = 0; i < n; i++ )

for ( k = 0; k < n; k++ )

if (row == i )

} if(flog == 1 )

printf("%d %d\n", row, column );

else

printf("no");

return 0;

}

求二維陣列中的鞍點 陣列

如果矩陣a中存在這樣的乙個元素a i,j 滿足條件 a i,j 是第i行中值最小的元素,且又是第j列中值最大的元素,則稱之為該矩陣的乙個馬鞍點。請程式設計計算出m n的矩陣a的所有馬鞍點。輸入m,n 然後輸入陣列中的每個元素 輸出m n的矩陣a的所有馬鞍點 3 3 1 7 3 5 4 6 17 18...

Problem N 求二維陣列中的鞍點 陣列

time limit 1 sec memory limit 128 mb submit 2764 solved 1728 submit status web board 如果矩陣a中存在這樣的乙個元素a i,j 滿足條件 a i,j 是第i行中值最小的元素,且又是第j列中值最大的元素,則稱之為該矩陣...

求二維陣列中的鞍點(c語言)

找出二維陣列中的鞍點,即該位置上的元素在該行上最大,在該列中最小,也可能沒有鞍點。解析 找出在一行中的最大值,確定最大值所在的列,再求出在該列中的最小值所在的行數,比較行是否相等,判斷是否為鞍點。include include intmain int max p,min l,maxj,mini in...