Мне нужно выполнить домашнее задание, и у меня проблемы с петлями. Сначала мне нужно найти следующий наибольший и наименьший квадратные корни с помощью циклов, что я уже могу сделать. Затем мое задание говорит мне, что мне нужно получить приближение квадратного корня, которое я делаю, усредняя следующий наибольший и наименьший квадратные корни целого числа. Затем я должен спросить у пользователя, сколько десятичных знаков точности они хотят. Вот цитата из задания:
Затем следует построить цикл, управляемый подсчетом; он будет выполняться один раз для каждой желаемой десятичной позиции; в этом примере этот цикл будет выполняться четыре раза (по одному разу для десятых, сотых, тысячных и десятитысячных знаков после запятой). Используйте счетчик, например 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