- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:アルゴリズム)
アルゴリズムについての質問
このQ&Aのポイント
- アルゴリズムのフローチャートについて質問です。50個の文字データが入った配列hai[]の要素を順番に参照し、英字bの個数を数えていくフローチャートが分かりません。
- 具体的なフローチャートの手順は以下の通りです。まず、I(haiの添え字)を0、shukeiを0で初期化します。次に、hai[I]がbかどうかを判定します。もしbでなければ、Iを1増やして次の配列に移動します。bであれば、shukeiを1増やしてカウントします。最後に、Iが50を超えたら終了です。
- 具体的なフローチャートの手順で、shukeiがshukei+1ではなくshukeiになる理由は、初めてbが出現したときにカウントするためです。たとえば、hai[1]がbであり、初めてbが出現したときはshukeiは1です。shukeiにshukei+1を代入することで、カウントを増やしています。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
えぇっと.... 「例えば、hai[1]=bで、初めてbが出できたらbの個数って1ですよね。でも、shukei←shukei+1に流れると個数は2個になってしまいますよね??」 というのは, どうしてそのように思ったのでしょうか? 「個数は2個になってしまう」とはどういうことでしょうか?
その他の回答 (2)
- Ginlou
- ベストアンサー率38% (5/13)
回答No.2
まず、実際に文字bの個数をカウントしているのは、shukei = shukei + 1 の部分です。 shukei = shukei では、ありません。 以下に、例を示します。 仮に、 shukei = 0 とします。 1.hai[I] が "b" の場合 shukei = shukei + 1 (←ここで、shukeiに1を足して、shukeiに突っ込んでいる。) (すなわち、 shukei の値は 1 になります。) 2.hai[I] が "b" でない場合 shukei = shukei (←これは、shukei に shukei の値を突っ込んでいるだけです。) (よって、 shukei の値は 0 のままです。) 以上で、よろしいでしょうか?
- TooManyBugs
- ベストアンサー率27% (1472/5321)
回答No.1
shukeiは単なる箱ですからhai[I]が'b' であろうとなかろうと変化しません。 'b'の個数をカウントする動作が(3)の後半shukei←shukei+1です。 初めて出てきたときはshukeiは0ですからそれに1を足して1になります。
補足
shukeiは単なる箱ですからhai[I]が'b' であろうとなかろうと変化しません。 初めて出てきたときはshukeiは0ですからそれに1を足して1になります。 って部分がよく分からないのですが、初めて出てきたときはshukeiは0は何でですか?あと、箱というのは?? くどくてすみません。 宜しくお願いします。