7 21 找鞍點 20分

2021-10-02 13:47:52 字數 1318 閱讀 5150

乙個矩陣元素的「鞍點」是指該位置上的元素值在該行上最大、在該列上最小。

本題要求編寫程式,求乙個給定的n階方陣的鞍點。

輸入格式:

輸入第一行給出乙個正整數n(1≤n≤6)。隨後n行,每行給出n個整數,其間以空格分隔。

輸出格式:

輸出在一行中按照「行下標 列下標」(下標從0開始)的格式輸出鞍點的位置。如果鞍點不存在,則輸出「none」。題目保證給出的矩陣至多存在乙個鞍點。

417

4148

3616

1207

89

2

1

217

41

none
切記!!!

【部分答案錯誤】:如果一行中有兩個最大值,或者一列中有兩個最小值

【改進】:>=max 和 <=min ,加等號!

找到每行最大的,把每行的r都設為1

找到每列最小的,把每列的c都設為1

遍歷整個陣列, if(arr[i][j].r == 1&&arr[i][j].c == 1) 輸出

cnt==0記為none

#include

using

namespace std;

const

int n=

100;

int n,cnt=0;

struct nodearr[n]

[n];

intmain()

}for

(int i=

0;ifor(

int j=

0;j}for

(int i=

0;ifor(

int j=

0;j}//遍歷整個陣列

for(

int i=

0;i}if

(cnt==0)

return0;

}

先逐行搜尋最大的元素 記下行下標 再逐列搜尋最小的元素 判斷這兩個元素元素行下標是否相同

#include

using

namespace std;

intmain()

}int i;

for(i=

0;iint min=arr[0]

[flagy]

,flagx=0;

for(

int k=

0;kif(flagx==i)}if

(cnt==0)

}

pta 7 21 找鞍點 20分

乙個矩陣元素的 鞍點 是指該位置上的元素值在該行上最大 在該列上最小。本題要求編寫程式,求乙個給定的n階方陣的鞍點。輸入第一行給出乙個正整數n 1 n 6 隨後n行,每行給出n個整數,其間以空格分隔。輸出在一行中按照 行下標 列下標 下標從0開始 的格式輸出鞍點的位置。如果鞍點不存在,則輸出 non...

找鞍點 20分

乙個矩陣元素的 鞍點 是指該位置上的元素值在該行上最大 在該列上最小。本題要求編寫程式,求乙個給定的n階方陣的鞍點。輸入格式 輸入第一行給出乙個正整數n 1 n 6 隨後n行,每行給出n個整數,其間以空格分隔。輸出格式 輸出在一行中按照 行下標 列下標 下標從0開始 的格式輸出鞍點的位置。如果鞍點不...

5 30 找鞍點 20分

5 30 找鞍點 20分 乙個矩陣元素的 鞍點 是指該位置上的元素值在該行上最大 在該列上最小。本題要求編寫程式,求乙個給定的n n階方陣的鞍點。輸入第一行給出乙個正整數n n 1 le n le 61 n 6 隨後n n行,每行給出n n個整數,其間以空格分隔。輸出在一行中按照 行下標 列下標 下...