2017-03-16 2 views
-2

これは私の中間です。みんなに話した、誰もそれを得ていない。教師は答えを出さず、私たちはこのようなことを決して授業ではしませんでした。私は迷っている。私のインターネットを保存してください。これは文脈を与えるためにプログラミング101である。複雑なネストループの作成

はここに行く:

は数字の五つの異なるラインでネストされたループを作成します。最初の行に0-9の印刷、2番目の10-12、3番目の5-7、4番目の3-7、5番目の13-17。

+0

これは単一のネストループですか? 'for(...){for(...){}}'のために?幅や深さの複数のネストされたループ? – ssell

+0

その情報は与えられていません。彼女が望むものが印刷され、ネストされたループが関与している場合、彼女は私が信じる気にしません。 –

答えて

1

ループをネストすることができ、各ネストループの前後にアクションを実行できます。

たとえば、次の完全なプログラム:

#include <iostream> 

int main() { 
    for (int i = 0; i < 2; i++) 
    { 
     std::cout << "OuterBefore"; 
     for (int j = 0; j < 2; j++) 
      std::cout << "Inner"; 
     std::cout << "OuterAfter"; 
    } 
    std::cout << std::endl; 
    return 0; 
} 

OuterBeforeInnerInnerOuterAfterOuterBeforeInnerInnerOuterAfterを印刷します。

これはテクニックであり、クラスの問題を解決するために修正する必要があります。

+0

スティーブさん、ありがとうございます。はい、私はすでに理解しています。それは単に私が問題を持っていないだろう何かだった場合。私は、ほとんどの場合ネストされたループを理解しています。それは 'あなたのクラスの問題を解決するためにそれを修正する'です。私は理解できないようです。 –

0

我々の問題のために以下の要件与えられる。、第13

最初のライン印刷0-9、第10-12に

、第5-7、第3-7 -17。

それは彼女が望んでいるものを出力し、ネストされたループが関与している場合は、彼女がこの限定された情報を使用して

を気にしない、私たちはこのような何かを行うことができます。

#include <iostream> 
#include <array> 

int main() 
{ 
    const auto starts = std::array<unsigned, 5>{ 0, 10, 5, 3, 13 }; 
    const auto ends = std::array<unsigned, 5>{ 9, 12, 7, 7, 17 }; 

    for(auto i = 0u; i < 5u; ++i) 
    { 
     for(auto j = starts[i]; j <= ends[i]; ++j) 
     { 
      std::cout << j << " "; 
     } 

     std::cout << std::endl; 
    } 

    return 0; 
} 

最も簡単な答えは、通常、右ですか?

関連する問題