В каком месте в цикле у меня возникла ошибка?

Как улучшить формулировку вопроса: "Может кто-то увидит, что не так с этим кодом, который должен работать так, как на фото, но не работает? Вроде бы я правильно сделал, но возможно пропустил какую-то ошибку. Может кто-то может это заметить и подсказать, что не так?"

в формe расширенного вопроса: "Почему вложенный цикл в этом коде не работает так, как ожидается? Внешний цикл настраивает значения переменных x, а вложенный цикл настраивает значения переменных z. Внутри вложенного цикла есть несколько условий, которые изменяют значение переменной Y на основе значений переменных x и z. Однако результаты, которые выводятся на экран, не соответствуют ожидаемым. Код приведен ниже:"

#include <iostream>
#include <cmath>
using namespace std;

int main() {
    setlocale(LC_ALL, "");

    double Y, F, a, b;
    double xn = 2.5, xk = 4.5, hx = 0.5;
    double zn = 22, zk = 30, hz = 2;

    cout << "a: ";
    cin >> a;
    cout << "\nb: ";
    cin >> b;

    for (double x = xn; x <= xk; x += hx) {
        for (double z = zn; z <= zk; z += hz) {
            if (x <= a) {
                Y = pow(x, 2) * Y - x;
            }
            else if (x < b) {
                Y = a * b;
            }
            else if (b >= a) {
                Y = exp(z) + 4;
            }

            F = sin(3 * Y) + a / b;
            cout << "X: " << x << " Y: " << Y << " F: " << F << endl;
        }
    }

    system("pause");
    return 0;
}
Изображение к вопросу
  • 20 октября 2023 г. 20:48
Ответы на вопрос 1
Ошибка возникла в теле внешнего цикла, в строке "Y = pow(x, 2) * Y - x;". В данной строке вы используете переменную Y без предварительной инициализации ее значения, поэтому результаты не соответствуют ожидаемым.

Похожие вопросы