2016-11-09 5 views
0

私は再帰関数を使用して、<に到達するまでユーザー入力を半分にしようとしています。何を試しても、常に結果> 1で終了します。指導は非常に高く評価されるだろう。除算を使用して1未満の結果を得ることができません

void counter(float count) 
{ 
    if (count >= 1) 
    { 
     cout << count << endl; 
     counter(count/2); 
    } 
} 
+3

1.0より小さい場合は印刷できません。おそらく 'if'の前に' cout'文が必要でしょう。 –

+0

私は何をしようとしているのですか? –

+0

if文の後にcoutを追加します。これが最後の関数呼び出しになります。 – NathanOliver

答えて

2

あなたがcountを印刷したい場合は、1未満になると、あなたはそのための行を追加する必要があります。

あなたが使用していることを簡素化することができます
void counter(float count) 
{ 
    if (count >= 1) 
    { 
     cout << count << endl; 
     counter(count/2); 
    } 
    else 
    { 
     cout << count << endl; 
    } 
} 

:あなたは、ほとんど存在し

void counter(float count) 
{ 
    cout << count << endl; 
    if (count >= 1) 
    { 
     counter(count/2); 
    } 
} 
1

を...

を値が1.0未満

ある場合に発生する何が起こっているかをチェックするために、他を追加
void counter(float count) 
{ 
    if (count >= 1) 
    { 
     cout << count << endl; 
     counter(count/2); 
    } else 
    { 
     cout << count << endl; 
    } 
} 
関連する問題