• 締切済み

C言語における3重ループの定義についての質問です

多重ループの定義について for文の中にfor文がある場合、多重ループになることはわかったんですが、 3重ループ以上の場合は for文の中にfor文があり、さらにその中にfor文がある時ですか? 例 for( ){ for( ){ for( ){ } } } それとも、for文が重なっている時のfor文の合計数ですか? (例えばfor文の中に別々のfor文が2つある場合) 例 for( ){ for() { } for( ){ } } 上手く説明できないんですが、よろしくお願いします

みんなの回答

  • yama5140
  • ベストアンサー率54% (136/250)
回答No.4

>for文の中にfor文がある場合、多重ループになることはわかったんですが、  ?? >for文の中にfor文がある場合、2重ループになることはわかったんですが、★  ですよね。 「2重ループ」が判ったから、それをさらに「重」ねて、 >3重ループ以上の場合は >for文の中にfor文があり、さらにその中にfor文がある時  となるんですよね・・普通に考えて。 >例えばfor文の中に別々のfor文が2つある場合  「別々のfor文」は、★の「for文の中に・・」を満たしてませんよ。

  • D-Matsu
  • ベストアンサー率45% (1080/2394)
回答No.3

ネスト(入れ子)構造になっているループを「多重ループ」と呼びます。 で、どちらが「入れ子」かと言えば前者の方ですね。

  • Gotthold
  • ベストアンサー率47% (396/832)
回答No.2

for(){ } for(){ } これは重なってるんじゃなくて、並んでると言うと思う。

  • trapezium
  • ベストアンサー率62% (276/442)
回答No.1

for()に限りませんが、3重といえば前者です。

関連するQ&A

  • 10進ベーシックでループを抜けたい

    for文で作った2重ループの中にif文があります。 if文の条件を満たしたらループを抜けるようにしたいのですが、 「goto 行番号」や「EXIT FOR」 を使ってもうまくいきません。 一度に2重ループを抜けたいのですが、どうすればいいでしょうか?

  • C言語のプログラムについて

    C言語のプログラムについて 3桁の自然数の中で、自分自身を含めた約数が奇数になるものがいくつあるかを求めるプログラムを作りたいのですが、swich文を使って、6通りの方法で出そうとしていまして、 while 文、 for文、 do while文に加え、 for文のを、1つの関数として独立させたもの、 さらに、for文のを重ループ部分のそれぞれのループに対応して、2つの関数として独立させたもの、 そして、この2つの関数のどちらともをループを用いずに再帰呼び出しを用いたもの の6通りで出したいのですが、swich文を使うところは自力でできたのですが、あとの6つそれぞれのプログラムの組み方がわかりません。 教えていただけないでしょうか?ややこしい書き方をしてすいません・・・。

  • 2重定義って??

    C言語のプログラミングの勉強をしています。 そこで2重定義というものを知り調べたのですが、良く分かりませんでした。コンパイルの仕組みなども併せて教えてください。お願いいたします。 恐れ入りますが、どなたか初心者にも分かる位のレベルで教えて頂けますでしょうか? 簡単な例があると助かります。 不明点 ・2重定義とは例えば1つの*.hを2つ以上の*.cでインクルードする場合にのみ有効なのか? 自分で調べた結果 2重定義防止用として #ifndef HOGE #define HOGE ~~~~~~~~ #endif 上記のようなことを一般的には行うことは分かったのですが、 これをやったことでどうなるのか??

  • 多重ループの抜けだし方

    for文などの2重ループや3重ループの抜け出し方を教えてください。 breakは最も内側のループしか抜け出せないんですよね?

  • C言語プログラム

    C言語プログラム ある数を入力して、入力された数を一辺とする図形を描くプログラムを作りたいんです。 分かりやすくすると、 入力された数が5だった時、画面には ***** ***** ***** ***** ***** ↑こう出力させたいんです。 四角だけじゃなくて、 * ** *** **** ***** ↑こういう三角とか、逆三角とか、 *        * **     *** ***  ***** **     *** *        * こんなかんじでいろんな形を描けるようにしたいんです。 C言語で、for文の二重ループを使うようにとのことなんですが、 どうすればいいでしょうか。 こういうのってズルですけど、何かヒントでも貰えればと思っています...。

  • 2重ループに対する考え方

    今回の質問は QNo.3167988 C言語基本 2次元配列(for文:条件値について) の追加質問内容と重複します事をご了承ください。 --------------------------------------------------------------- 【今回の質問】 (1)#include <stdio.h> (2) (3)main() (4){ (5)int x,y; (6)int a[2][4]={ (7){1,2,3,4}, (8){5,6,7,8} (9)}; (10)for(x=0;x<2;x++){ (11)for(y=0;y<4;y++) (12)printf("a[%d][%d]=%d ",x,y,a[x][y]); (13)printf("\n"); (14)} (15)} と上記のような2重ループ(10)(11)に対して以下の考え方で正しいのか迷っている状況のため有識者のご意見を頂きたくて質問させて頂きます。 --------------------------------------------------------------- ■現在の2重ループ理解状況■ 【プロセス1】 ★x = 0 の状態で y=0 (結果:a[0][0] = 1) y=1 (結果:a[1][0] = 2) y=2 (結果:a[2][0] = 3) y=3 (結果:a[3][0] = 4) 以上yへの代入を実行しプロセス2へ --------------------------------------------------------------- 【プロセス2】 ★x = 1 の状態で y=0 ⇒ a[0][1] = 5 y=1 ⇒ a[1][1] = 6 y=2 ⇒ a[2][1] = 7 y=3 ⇒ a[3][1] = 8 以上yへの代入を実行し終了 --------------------------------------------------------------- 【イメージ】 ■■■■■ ■4■■8■y[3] ■■■■■ ■3■■7■y[2] ■■■■■ ■2■■6■y[1] ■■■■■ ■1■■5■y[0] ■■■■■ x[0] x[1] ---------------------------------------------------------------

  • objective-cの多重ループbreak

    objective-cの多重forループの内側でbreakすると外のforまで抜けるようです。 では、内側のforだけ抜けて外側のforの中に戻るにはどう書けばいいのでしょうか? あと、この件について、c言語とobjective-cの文法の違いについて教えていただけるとうれしいです。

  • C言語に詳しい方、お願いします!

    二重for文の特長を活かし、次のような表示を行うプログラムを書きなさい。 ※四角形からダイヤ型をくり貫いたような表示。 ただし、キーボード入力で数字を出力し、その数字の数が、横配列の■の最大値となるようにすること(この例の場合、出力した数字は7)。 つまりは、出力した数字に応じて、■とダイヤの大きさが変化する。

  • プログラムの二重のIF文、FOR文について

    プログラミングを始めたのですが、 クイックソートなどで出て来る、二重になったIF文とかFor文がイメージできなくて困っています。 エクセルでの何重かのIF文は問題なくこなせるのですが、 なぜかプログラムとなると自分でイメージして作り上げる自信はないです。 プログラマになるには、こういった多重ループを使えるようになるべきなのでしょうか? またそうだとしたら、どのような訓練をしたら分かるようになるでしょうか? それともプログラマに向いてないと諦めたほうがいいのでしょうか?

  • ループについて

     アンケート的な質問ですが、forの無限ループと、whileの無限ループが、C言語にはありますよね?  whileの場合は、while(1)と書きますし、問題ないですが、 forの場合は、for(;;)とかきますよね。  forの無限ループって、顔文字の涙にみえないですか? for文の無限ループって、何が悲しかったのでしょうか? 答えられる方、こたえてください。

専門家に質問してみよう