宿題の期限が迫っていますが、ループに問題があります。最初に、すでに実行できるループを介して、次に高い平方根と最小の平方根を見つける必要があります。次に、整数の次に高い平方根と最も低い平方根を平均することによって、平方根の近似値を取得する必要があることが課題からわかります。次に、ユーザーに精度の小数点以下の桁数を尋ねる必要があります。以下は課題からの引用です。
次に、カウント制御ループを構築する必要があります。目的の小数点以下の桁数ごとに 1 回実行されます。この例では、このループは 4 回実行されます (10 分の 1、100 分の 1、1000 分の 1、および 1 万分の 1 の小数点以下の桁数ごとに 1 回ずつ)。decimalPosition などのカウンターを使用して、ループがオンになっているパスを追跡します。
これは私が問題を抱えている場所です。ユーザーが入力した小数点以下の桁数に基づいて while ループを使用していますが、私のループはループを完了しません。私はプログラミングが初めてなので、これが本当に単純な場合はご容赦ください。これが私のwhileコードです:
for (int decimalPosition = 1; decimalPosition <= decimal; decimalPosition++)
{
while (baseRoot*baseRoot > num)
{
baseRoot = baseRoot - (pow((.1),decimalPosition));
cout << fixed << setprecision(decimal) << baseRoot << endl;
}
}
ここに私の出力があります
Enter a number you wish to know the square root of: 8
Enter the number of decimal places of accuracy you want: 7
Find the square root of 8 to 7 decimal places:
2.6000000
2.7000000
2.8000000
2.9000000
2.9000000 square root of 8.0000000