Вычисление с помощью функции пользователя

Задание

Должно вычисляться выражение, что на картинке, но что-то делаю не так.Помогите, пожалуйста.

#include <iostream>
#include <Windows.h>
#include <cmath>
using namespace std;
double mathFunc(double a, double v);
int main()
{
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
    double x, z, b, y;
    double bPlus2 = 2 + b;
    double xPlusY = x + y;
    cout << "Укажіть аргумент x: ";
    cin >> x;
    cout << "Укажіть аргумент b: ";
    cin >> b;
    cout << "Укажіть аргумент y: ";
    cin >> y;
    z = (log(mathFunc(2, x)) + log(mathFunc(2.7, y))) / fabs(log(mathFunc(bPlus2, (xPlusY))));
    cout << "Результат z = " << z;
    system("pause");
    return 0;
}
double mathFunc(double a, double v)
{
    log(v, a) = log(v)/log(a)
}

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

Автор решения: KoVadim

В плюсах (да и в многих других языках) нельзя закладываться на значение переменных, если им ещё не присвоили значение. Поэтому, конструкции

double bPlus2 = 2 + b;
double xPlusY = x + y;

хоть и выглядят интересно, но они ничего толкового не сделают - переменные x,y,b будут известны чуточку позже.

Найдите 100 отличий:)

#include <iostream>
#include <Windows.h>
#include <cmath>
using namespace std;
double mathFunc(double a, double v);
int main()
{
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
    double x, z, b, y;

    cout << "Вкажіть аргумент x: ";
    cin >> x;
    cout << "Вкажіть аргумент b: ";
    cin >> b;
    cout << "Вкажіть аргумент y: ";
    cin >> y;
    z = (mathFunc(2, x) + mathFunc(2.7, y)) / abs(mathFunc(b+2, (x+y)));
    cout << "Результат z = " << z;
    system("pause");
    return 0;
}
double mathFunc(double a, double v)
{
    return log(v)/log(a)
}

→ Ссылка
Автор решения: Harry
double x, z, b, y;
double bPlus2 = 2 + b;
double xPlusY = x + y;

И что вы хотите получить тут, кроме мусорных значений? Вы же еще не ввели числа - что вы суммируете?!!

На что вы рассчитывали тут:

log(v, a) = log(v)/log(a)

? Если будет написано решить x+a=b, вы так и напишете в коде - x+a=b?

Вот все ваше решение:

int main()
{
    double x, y, b;
    cout << "Укажiть аргумент x: ";
    cin >> x;
    cout << "Укажiть аргумент b: ";
    cin >> b;
    cout << "Укажiть аргумент y: ";
    cin >> y;

    double z = (log2(x)+log(y))/fabs(log(x+y)/log(2+b));
    cout << "Результат: " << z << endl;

}
→ Ссылка