Вычисление с помощью функции пользователя
Должно вычисляться выражение, что на картинке, но что-то делаю не так.Помогите, пожалуйста.
#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;
}
