問題描述:
有乙個m*n(1即是所在行的最大值,又是所在列的最小值。要求如果有鞍點輸出它的座標和值,如果沒有鞍點則輸出「無鞍點」
解決思路:
**:
#include
const
int n=11;
intandian
(int a[n]
[n],
int n,
int m,
int*r,
int*c)
;//在n*m陣列中找鞍點,如果找到用*r,*c存放鞍點行號、列號,返回1;否則返回0
intmain
(void)}
int res=
andian
(a,n,m,
&r,&c);if
(res)
else
return0;
}int
andian
(int a[n]
[n],
int n,
int m,
int*r,
int*c)
}for
(j=1
;j<=n;j++
)//將該col下標元素與其上下行元素比較,看是否是第col列最小元素 }if
(j==n+1)
}return flag;
}
輸出:
本人在做的時候發現程式只能返回第乙個找到的鞍點以及其下標,但仔細想了幾個矩陣(矩陣有以及多個重複元素),發現只能有乙個鞍點要不就乙個也沒有這兩種情況,有大神看到能講解一下嗎?還是說乙個矩陣可以有多個鞍點只不過我沒想到。頭疼!
C語言習題 鞍點
題目源自 中國大學mooc 浙江大學翁愷老師 程式設計入門 c語言 課程第7周 陣列運算 程式設計練習給定乙個n n矩陣a。矩陣a的鞍點是乙個位置 i,j 在該位置上的元素是第i行上的最大數,第j列上的最小數。乙個矩陣a也可能沒有鞍點。你的任務是找出a的鞍點。輸入格式 輸入的第1行是乙個正整數n,1...
找鞍點C語言
乙個矩陣元素的 鞍點 是指該位置上的元素值在該行上最大 在該列上最小。本題要求編寫程式,求乙個給定的n階方陣的鞍點。輸入第一行給出乙個正整數n 1 n 6 隨後n行,每行給出n個整數,其間以空格分隔。輸出在一行中按照 行下標 列下標 下標從0開始 的格式輸出鞍點的位置。如果鞍點不存在,則輸出 non...
C語言練習 鞍點
以下為題目要求 給定乙個n n矩陣a。矩陣a的鞍點是乙個位置 i,j 在該位置上的元素是第i行上的最大數,第j列上的最小數。乙個矩陣a也可能沒有鞍點。你的任務是找出a的鞍點。輸入格式 輸入的第1行是乙個正整數n,1 n 100 然後有n行,每一行有n個整數,同一行上兩個整數之間有乙個或多個空格。輸出...