2016-04-30 5 views
-4
#include <iostream> 
    using namespace std; 
    void bi(int a); 
    int main() 
    { 
     // here is the issue how do start a loop, where i want the answer from 16 to 31 numbers 
     int a=0; 
     cout<<"Baum-Sweet Sequence From 16 to 31 \n"; 
     for(int j=a;j>16 && j<31;j++) 
     { 
      cout<<j; 
     } 
     bi(a); 
    system("Pause"); 
    } 
    // Rest is working properly 
    void bi(int a) 
    { 
     int myArr[15],i=0,f=0,n=0; 
     for (int h = 0 ; h <= a; h++) 
     { 
      int num = h; 
      for (i = 0 ; i < 4 ; i++) 
      { 
       myArr[i] = num%2; 
       num = num/2; 
      } 
      for (int t = 0 ; t < 4 ; t++) 
      { 
       if (myArr[t]%2==0) 
        f++; 
      } 

      if (f%2==0) 

       cout << " = " << 1; 
      else 
       cout << " = " << 0; 
      cout <<endl; 
     } 
    } 

10進数16から31までのシーケンスを表示したいが、ここ私は16から31までの10進数のシーケンスを表示したいが、誰も助けてくれる人はいないだろう。

+0

あなたのコードは何をすべきですか?そして 'int j = a; j> 16&& j<31; j ++'の結果は、 'a ='を代入すると 'j == 0 'のときになると思いますか? –

答えて

0

あなたの問題はあなたが0にJを設定することであるが、その後(に設定されている)jは、16

より 大きい場合にのみ実行されることをループのための条件を作る私を助けて

最初に行うべきことは、ループ条件を次のように設定することです。

for (int j = 16; j <= 32; j++) 
1

forループにエラーがあります。

forループには、セミコロンで区切られた3つの部分があります。

for (INITIALIZATION; CONDITION; AFTERTHOUGHT) 
{ 
    // Source code for the for-loop's body 
} 
  • 最初の部分(例えば、 "int型J = 16;" 変数jを介して使用すると、16でカウントを開始することを意味する)変数を初期化します。
  • 2番目の部分は条件をチェックし、falseのときにループを終了します(例:j < = 31は、jが値31のときにループを終了することを意味します)。
  • ループが終了するたびに3回目が実行され、その後繰り返されます(たとえば、j ++は、ループjの各反復で1だけ増分されることを意味します)。

各繰り返しは、forループの本体でコードを実行します。

各値のbi関数を16から31に呼び出したいと考えると、forループ本体にはbi(j)を含める必要があります。メインコードは次のコードのように変更する必要があります:

int main() 
{ 
    cout<<"Baum-Sweet Sequence From 16 to 31 \n"; 
    for(int j=16;j<=31;j++) 
    { 
     cout<<j; 
     bi(j); 
    } 
    system("Pause"); 

    return 0; 
    } 
関連する問題