Возникли проблемы с кодом с++

Составить программу для вычисления выражения. Входные данные: х- переменная действительного типа, которую нужно ввести с клавиатуры, остальные переменные определить с помощью объявления с инициализацией. В результате выполнения программы выведите все входящие переменные и значения функции, применив к ним форматный вывод.введите сюда описание изображения

#include <iostream>
#include <math.h>
#include <stdlib.h>
double f(double z, double y, double& b, double& x)
{
    return b = 1 + fabs(y - x) + (((y - x)pow(2)) / 2) + ((y - x)pow(3)) / 3;);
}
int main()
{
    setlocale(0, ".1251");
    double z = 60, y = 25, b, x;
    printf(" Введите значение x= ");
    scanf_s("%lf", &x);
    printf(" b=%lf \n", f(z, y, b, x));
    printf(" x=%lf \n", x);
    system("pause");
    return 0;
}

Ответы (2 шт):

Автор решения: Mr.Fokuss

Была неправильна написана операция pow.

Правильно её так писать: pow(выражение, степень):

#include <iostream>
#include <math.h>
#include <stdlib.h>
double f(double z, double y, double& b, double& x)
{
    return b = 1 + fabs(y - x) + (pow(y - x, 2) / 2) + (pow(y - x, 3) / 3);
}
int main()
{
    setlocale(0, ".1251");
    double z = 60, y = 25, b, x;
    printf(" Введите значение x= ");
    scanf("%lf", &x);
    printf(" b=%lf \n", f(z, y, b, x));
    printf(" x=%lf \n", x);
    system("pause");
    return 0;
}
→ Ссылка
Автор решения: Harry

Ладно, придется таки написать, а то тут такого насоветуют...

#include <stdio.h>
double f(double x, double y)
{
    y -= x;
    return 1 + (y/3+0.5)*y*y + (y > 0 ? y : -y);
}
int main()
{
    double y = 25, x;
    printf("Введите x: ");
    scanf("%lf", &x);
    printf("b = %lf\n", f(x,y));
}

В самом крайнем случае

int main()
{
    double y = 25, x;
    printf("Введите x: ");
    scanf("%lf", &x);
    double b = f(x,y);
    printf("x = %lf, y = %lf, b = %lf\n", x,y,b);
}
→ Ссылка