C語言筆記 鞍點問題

2021-09-28 15:46:22 字數 891 閱讀 8356

問題描述:

有乙個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個整數,同一行上兩個整數之間有乙個或多個空格。輸出...