Столкнулся с проблемой в следующем коде:
#include<cmath>
using namespace std;
int main() {
setlocale(LC_ALL, "rus");
double b, x;
cout << "Введите значение b: ";
cin >> b;
double U;
for (x = 2; x <= 4; x += 0.2)
{
if (x < 3)
U = 2.75 * log(abs(b * x)) - sqrt(abs(log(x + b)));
else if (x == 3.)
U = x - 2. * sin(b / x);
else
U = exp(x) + log(x) - (10 * x);
cout << "x = " << x << endl;
cout << "U = " << U << endl << endl;
}
}
Код работает, но цикл не совершает последнюю итерацию. При этом, если я делаю следующую конструкцию, код работает правильно:
for (x = 2; x <= 4;)
{
x += 0.2;
}
Почему цикл for не совершает последнюю итерацию?