反復行動について
Re:反復行動について
言いたいことが今ひとつ分からないのですが。
とりあえず書いてみればいいんじゃないでしょうか?
とりあえず書いてみればいいんじゃないでしょうか?
int i = 0; while(i++ < 10){ int j = 0, k = 0; while(j++ < 10){ printf("j = %d\r\n", j); } printf("処理\r\n"); while(k++ <= 10){ printf("k = %d\r\n", k); } }
Re:反復行動について
> ブロック(繰返し文も含む)の入れ子は、少なくとも127段階まで保証されます。
> ただし、C99に対応していない処理系の場合は15段階までです。
無限段階ではなかったのですね。
勉強になりました。
> ただし、C99に対応していない処理系の場合は15段階までです。
無限段階ではなかったのですね。
勉強になりました。
Re:反復行動について
> ブロック(繰返し文も含む)の入れ子は、少なくとも127段階まで保証されます。
> ただし、C99に対応していない処理系の場合は15段階までです。
自分もしりませんでしたぁ~!昔友達に「いくらでも書ける」なんて堂々と言ってしまった記憶があるんですが・・・^^;
> ただし、C99に対応していない処理系の場合は15段階までです。
自分もしりませんでしたぁ~!昔友達に「いくらでも書ける」なんて堂々と言ってしまった記憶があるんですが・・・^^;
Re:反復行動について
> 無限段階ではなかったのですね。
翻訳限界なので、あくまでも規格上保証される最低限のものです。
普通はもっと多いはずです。
メモリは有限なので、無限というのは原理的に無理ですね。
翻訳限界なので、あくまでも規格上保証される最低限のものです。
普通はもっと多いはずです。
メモリは有限なので、無限というのは原理的に無理ですね。
Re:反復行動について
ちょっと休憩してる間にこんなに・・・・・ありがとうございます。(涙
ループの中にループは作れるんですね、勉強になりました^^
ところで、もうひとつの質問、
一番外のループ内の処理
ループ1(条件を満たしたら)→処理1→ループ2(条件を満たしたら)→ループ1
というような考えで合っているのでしょうか?
ループの中にループは作れるんですね、勉強になりました^^
ところで、もうひとつの質問、
一番外のループ内の処理
ループ1(条件を満たしたら)→処理1→ループ2(条件を満たしたら)→ループ1
というような考えで合っているのでしょうか?
Re:反復行動について
>一番外のループ内の処理
>ループ1(条件を満たしたら)→処理1→ループ2(条件を満たしたら)→ループ1
>というような考えで合っているのでしょうか?
添付の図をそのまま見た場合・・・残念ながら違います。
ループA
ループ1
ループ1終わり
処理1
ループ2
ループ2終わり
ループA終わり
という構造になっているようです。
処理1をループ1に入れたい場合ループ1の枠線の中に処理1が入るような図になるはずです。
>ループ1(条件を満たしたら)→処理1→ループ2(条件を満たしたら)→ループ1
>というような考えで合っているのでしょうか?
添付の図をそのまま見た場合・・・残念ながら違います。
ループA
ループ1
ループ1終わり
処理1
ループ2
ループ2終わり
ループA終わり
という構造になっているようです。
処理1をループ1に入れたい場合ループ1の枠線の中に処理1が入るような図になるはずです。
Re:反復行動について
>一番外のループ内の処理
>ループ1(条件を満たしたら)→処理1→ループ2(条件を満たしたら)→ループ1
>というような考えで合っているのでしょうか?
添付の図をそのまま見た場合・・・残念ながら違います。
これはどうでしょうね。
sousiさんの言う(条件を満たしたら)というのは、ループの終了条件を満たしたら。
という意味で言っているのだと。
つまり、(条件を満たしたら)という部分でループが終了すると解釈できませんか。
これだと、sousiさんの認識で間違いではないはずです。
#ループは条件を満たしている限り回り続けるので、ここでちょっと噛み合ってないような気がします。
>ループ1(条件を満たしたら)→処理1→ループ2(条件を満たしたら)→ループ1
>というような考えで合っているのでしょうか?
添付の図をそのまま見た場合・・・残念ながら違います。
これはどうでしょうね。
sousiさんの言う(条件を満たしたら)というのは、ループの終了条件を満たしたら。
という意味で言っているのだと。
つまり、(条件を満たしたら)という部分でループが終了すると解釈できませんか。
これだと、sousiさんの認識で間違いではないはずです。
#ループは条件を満たしている限り回り続けるので、ここでちょっと噛み合ってないような気がします。
Re:反復行動について
返信遅れてごめんなさい。モデムが故障してしまいまして^^;
言いたかったことは へろり さんの説明通りです。
ですが、これをゲームで使うとなるとものすごく処理が重くなってしまうようですね。
処理が軽く反復行動をやりたい場合にはやはりif文を使うほうがいいみたいです。
たくさんの解答ありがとうございました。困ったら、また助けてください^^
言いたかったことは へろり さんの説明通りです。
ですが、これをゲームで使うとなるとものすごく処理が重くなってしまうようですね。
処理が軽く反復行動をやりたい場合にはやはりif文を使うほうがいいみたいです。
たくさんの解答ありがとうございました。困ったら、また助けてください^^
Re:反復行動について
> ですが、これをゲームで使うとなるとものすごく処理が重くなってしまうようですね。
> 処理が軽く反復行動をやりたい場合にはやはりif文を使うほうがいいみたいです。
質問の背景が分かりませんが、勘違いしていませんか?
仮に100回同じ処理を行うとして、繰り返しの処理をループでしてもifでしても、
実行時間は変わらないでしょう。100回という回数を減らすことができたり、
多くなってしまうならば、実行時間は変わりますが、これは無駄な処理が
あるかどうかなので、ifの使用や多重ループとは別の話です。
> 処理が軽く反復行動をやりたい場合にはやはりif文を使うほうがいいみたいです。
質問の背景が分かりませんが、勘違いしていませんか?
仮に100回同じ処理を行うとして、繰り返しの処理をループでしてもifでしても、
実行時間は変わらないでしょう。100回という回数を減らすことができたり、
多くなってしまうならば、実行時間は変わりますが、これは無駄な処理が
あるかどうかなので、ifの使用や多重ループとは別の話です。