• ベストアンサー
※ 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を代入することで、カウントを増やしています。

質問者が選んだベストアンサー

  • ベストアンサー
  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.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 のままです。) 以上で、よろしいでしょうか?

回答No.1

shukeiは単なる箱ですからhai[I]が'b' であろうとなかろうと変化しません。 'b'の個数をカウントする動作が(3)の後半shukei←shukei+1です。 初めて出てきたときはshukeiは0ですからそれに1を足して1になります。

y6411y
質問者

補足

shukeiは単なる箱ですからhai[I]が'b' であろうとなかろうと変化しません。 初めて出てきたときはshukeiは0ですからそれに1を足して1になります。 って部分がよく分からないのですが、初めて出てきたときはshukeiは0は何でですか?あと、箱というのは?? くどくてすみません。 宜しくお願いします。

関連するQ&A