![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
No.3ベストアンサー
- 回答日時:
まず、eのケースもfのケースもどちらも25行目で呼び出した
副プログラム内の38行目の条件を満たすことはよいでしょうか?
(開始画素の色と比較しているので当然満たします。)
で、その結果26行目のMore>0も満たします。
<eのケース>
1回目のループで4つすべての呼び出した副プログラムで
最初の条件を満たさないので、Moreが増加しません。
その結果、ループが終了します。
<fのケース>
1回目のループではMoreが1となり終了します。
2回目のループでは、なぜか一回目でチェックしたはずの
左隣の画素のチェックで引っかかります。
これは、ループ内でのチェック内容が
「周囲の画素の色」と「スタート地点の画素の開始時の色」
が一致しているか見ているためです。
その結果、この2つの画素を行ったり来たりとチェックしていく
ことになり、無限ループに陥ります。
うーん、非常に説明が難しいのですが、わかります?
具体的にわからない部分がわかるともうちょっとわかり易く説明できそうなんですが。。
回答有難うございます
お二人の判りやすい回答を読んでいたら理解できました。
理解できると何でもない流れですね・・・
アルゴリズムの問題は詰まると訳がわからなくなりますね
助かりました。有難うございます!!
No.2
- 回答日時:
正解できたけど,頭の中で考えただけなので,どこか間違っているかも
=========================
「3つの時,なぜ上限を超えるのか」を考えさせるためにわざと問題文側で提供していますね。考えてみましょう。
以下の図でGHIが白であると仮定します
ABCDE
FGHIJ
KLMNO
で白であるHを塗るとGとIがVPosとHPosに載ります[GI]
次ににIを取り出しIの周囲を調べます
→ IのとなりのHは白でIと同じ領域なのでリストに加えておきましょう→ここでEがFと異なる色ならばFとEは同じ領域とはみなされない
[GH]
次にHを取り出し,周囲を調べます。
→ HのとなりのGとIは白でHと同じ領域なのでリストに加えておきましょう
[GGI]
→IのとなりののHは白でIと同じ領域なのでリストに加えておきましょう
[GGH]
この後の展開はもちろん
[GGGI],[GGGH],[GGGGI],[GGGGH]…
…と言う風にどんどんGが増えるので,問題文の通りであることがわかります。
=======================
という「3つのときの問題点」が見えたら,同じ事を二つのマスで考えて見ましょう。
回答有難うございます
お二人の判りやすい回答を読んでいたら理解できました。
理解できると何でもない流れですね・・・
アルゴリズムの問題は詰まると訳がわからなくなりますね
助かりました。有難うございます!!
No.1
- 回答日時:
正解できたけど,頭の中で考えただけなので,どこか間違っているかも
=========================
「3つの時,なぜ上限を超えるのか」を考えさせるためにわざと問題文側で提供していますね。考えてみましょう。
以下の図でGHIが白であると仮定します
ABCDE
FGHIJ
KLMNO
で白であるHを塗るとGとIがVPosとHPosに載ります[GI]
次ににIを取り出しIの周囲を調べます
→ IのとなりのHは白でIと同じ領域なのでリストに加えておきましょう→ここでEがFと異なる色ならばFとEは同じ領域とはみなされない
[GH]
次にHを取り出し,周囲を調べます。
→ HのとなりのGとIは白でHと同じ領域なのでリストに加えておきましょう
[GGI]
→IのとなりののHは白でIと同じ領域なのでリストに加えておきましょう
[GGH]
…と言う風にどんどんGが増えるので,問題文の通りであることがわかります。
=======================
という「3つのときの問題点」が見えたら,同じ事を二つのマスで考えて見ましょう。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 情報処理技術者・Microsoft認定資格 基本情報技術者試験の午前試験過去問について質問です。 今日受けたのですが科目Aだけ点数が足りませんで 2 2023/06/30 21:07
- 情報処理技術者・Microsoft認定資格 基本情報技術者試験について 基本情報技術者試験の午後問題についてなのですが、 大門①の情報セキュリテ 1 2022/10/30 00:34
- 情報処理技術者・Microsoft認定資格 応用情報技術者試験の午後問題の過去問の解説 1 2023/01/31 16:32
- 情報処理技術者・Microsoft認定資格 [基本情報技術者試験] 過去問を 直近5年分[10回分]やりました。[800問] この800問に関し 1 2022/11/13 23:06
- 情報処理技術者・Microsoft認定資格 基本情報 午後問題落ちました 2 2022/10/26 22:54
- Java 問題作成のWebアプリの作り方を教えてください 1 2022/11/26 22:01
- 情報処理技術者・Microsoft認定資格 基本情報技術者試験について知りたい! こんにちは! 今年基本情報技術者試験を受験するつもりです。 今 2 2023/07/17 21:23
- 情報処理技術者・Microsoft認定資格 応用情報と基本情報の同時期受験について 1 2022/08/31 12:24
- 情報処理技術者・Microsoft認定資格 基本情報技術者試験について 基本情報技術者試験を受けようと考えています。 ホームページに、 申込日を 2 2022/09/19 17:46
- 情報処理技術者・Microsoft認定資格 J検【令和3年度後期 情報システム試験 システムデザインスキル】問題1(2)の解き方を教えてください 1 2022/03/22 18:36
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
break文でループを一気に抜ける...
-
do-while文が禁止される理由
-
For文の終了値を関数にしても問...
-
Delphiで・・・
-
ループを途中で抜けたいのですが。
-
returnと条件式内の代入
-
Cプログラムが終了しない
-
7と入力したら画像のような図形...
-
線形探索(番兵法)のプログラ...
-
c言語について
-
文字列を後ろから1文字ずつ表示...
-
交叉について
-
入力した数値を倍々するプログラム
-
無限ループ対策
-
if文の中にfor文なのか、for文...
-
法則性ある繰り返しをfor文でル...
-
C言語 数字を削除する関数
-
【C言語】後輩に教えるコツ!【...
-
エクセルでC言語のfor文と同じ...
-
C言語forループが完結した場合...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
break文でループを一気に抜ける...
-
ループを途中で抜けたいのですが。
-
do-while文が禁止される理由
-
入力した数値を倍々するプログラム
-
For文の終了値を関数にしても問...
-
C言語forループが完結した場合...
-
エクセルVBAで Do While (1)って?
-
入力した文字列から母音だけを...
-
if文の中にfor文なのか、for文...
-
Excel VBAで年度をまたぐ期間の...
-
C言語、whileループを抜け出す...
-
for文while文の無限ループの違...
-
プログラムで関数は使わない方...
-
Cプログラムが終了しない
-
PIC のプログラムについて ど...
-
アルゴリズムです!四つの数字...
-
UWSCにてある一定の動作を無限...
-
繰り返し文の利点について
-
ループの特定入力終了
-
PAD図の書き方
おすすめ情報