資訊學奧賽一本通c 語言 1122 計算鞍點

2021-10-05 08:36:26 字數 1902 閱讀 1918

【題目描述】

給定乙個5×5的矩陣,每行只有乙個最大值,每列只有乙個最小值,尋找這個矩陣的鞍點。鞍點指的是矩陣中的乙個元素,它是所在行的最大值,並且是所在列的最小值。

例如:在下面的例子中(第4行第1列的元素就是鞍點,值為8 )。

11 3 5 6 9

12 4 7 8 10

10 5 6 9 11

8 6 4 7 2

15 10 11 20 25

【輸入】

輸入包含乙個5行5列的矩陣。

【輸出】

如果存在鞍點,輸出鞍點所在的行、列及其值,如果不存在,輸出"not found"。

【輸入樣例】

11 3 5 6 9

12 4 7 8 10

10 5 6 9 11

8 6 4 7 2

15 10 11 20 25

【輸出樣例】

4 1 8

這道題其實不難

但要看清題目

是行最大,列最小

不要弄混

**如下

#include

using

namespace std;

intmain()

;//存放行最大

int min[6]

;//存放列最小

memset

(min,

1000000

,sizeof

(min));

int t=5;

//計算是否沒找到鞍點

for(

int i=

1;i<=

5;i++

)for

(int j=

1;j<=

5;j++

) cin>>a[i]

[j];

//輸入陣列

for(

int i=

1;i<=

5;i++

)for

(int j=

1;j<=

5;j++)if

(a[i]

[j]>max[i]

)//如果是行最大

max[i]

=a[i]

[j];

//賦值

for(

int i=

1;i<=

5;i++

)for

(int j=

1;j<=

5;j++)if

(a[j]

[i])//如果是列最小

min[i]

=a[j]

[i];

//賦值

for(

int i=

1;i<=

5;i++

)for

(int j=

1;j<=

5;j++)if

(a[i]

[j]==max[i]

&& a[i]

[j]==min[j]

)//如果同時是行最大和列最小

if(t==5)

//如果沒有

cout<<

"not found"

;//輸出"not found"

return0;

//養成好習慣

}

這道題的 i 和 j (行和列)比較容易弄混,要注意

關於我的**的 i 和 j 可能比較難懂

因為大家習慣不同嘛

實在不能理解借個思路也行

資訊學奧賽一本通C 語言 1122 計算鞍點

題目描述 給定乙個5 5的矩陣,每行只有乙個最大值,每列只有乙個最小值,尋找這個矩陣的鞍點。鞍點指的是矩陣中的乙個元素,它是所在行的最大值,並且是所在列的最小值。例如 在下面的例子中 第4行第1列的元素就是鞍點,值為8 11 3 5 6 9 12 4 7 8 10 10 5 6 9 11 8 6 4...

資訊學奧賽一本通(C 版)

資訊學奧賽一本通 c 版 總目錄 1.資訊學奧賽一本通 c 版 刷題 記錄 2.資訊學奧賽一本通 c 版 第一部分 c 語言 第一章 c 語言入門 3.資訊學奧賽一本通 c 版 第一部分 c 語言 第二章 順序結構程式設計 4.資訊學奧賽一本通 c 版 第一部分 c 語言 第三章 程式的控制結構 5...

資訊學奧賽一本通C 語言 1215 迷宮

題目描述 一天extense在森林裡探險的時候不小心走入了乙個迷宮,迷宮可以看成是由n n的格點組成,每個格點只有2種狀態,和 前者表示可以通行後者表示不能通行。同時當extense處在某個格點時,他只能移動到東南西北 或者說上下左右 四個方向之一的相鄰格點上,extense想要從點a走到點b,問在...