乙個矩陣元素的「鞍點」是指該位置上的元素值在該行上最大、在該列上最小。
本題要求編寫程式,求乙個給定的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個整數,其間以空格分隔。輸出在一行中按照 行下標 列下標 下...