Предмет: Информатика, автор: SlavaZSU

Знатоки чапаем
#include

#include

#include

using namespace std;

int main() {

double k,b,z,c,a,f,y,x;

cout << "k = ";

cin >> k;

cout << "b = ";

cin >> b;

cout << "z = ";

cin >> z;

cout << "c = ";

cin >> c;

printf (y=z+("%g",(fabs(pow f , 1/3.0)));

x=2*(z*z*z*z*z)+y;

a=(b*b*b)+x*(abs(z+k)/(0.63*(y*y)+1));

f=sin(c);




cout << "Result: " << y << endl;

cout << "x = " << x << endl;

cout << "a = " << a << endl;

cout << "f = " << f << endl;

return 0;

}

Что не так в коде?

error: no matching function for call to ‘pow(double&)’

Приложения:

Ответы

Автор ответа: Quverqu
0

Ошибка связана с вызовом функции pow из библиотеки cmath. Функция pow принимает два аргумента типа double и вычисляет первый аргумент, возведенный в степень, указанную вторым аргументом. Ошибка возникает потому, что в коде передается только один аргумент типа double, а не два.


Literatorhelp: Ещё правильно заданы функции поскольку сначала нам нужно прочситать f за ним y, x и a.
Так же код можно оптимизировать добавив библиотеку cmath с её помощю мы можем вводить функции такие как pow - функция возвидения в степень.
Ошибка так же в вычислении у где корень кубический взят в модуль (fabs).
Так же значения k b z можно задать сразу когда прописиваешь тип данных
Автор ответа: Literatorhelp
0

Відповідь:

#include <iostream>

#include <cmath>

using namespace std;

int main() {

   int k = 3, b = 4, z = 2;

   double x, y, c, a, f;

   cout << "c = ";

   cin >> c;

   f = sin(c);

   y = z + fabs(pow(f, 1.0 / 3.0));

   x = 2 * pow(z, 5) + y;

   a = (pow(b, 3) + pow(x, z+k)) / (0.63 * pow(y, 2) + 1);

   cout << "a = " << a << endl;

   cout << "x = " << x << endl;

   cout << "f = " << f << endl;

   cout << "y = " << y << endl;

   return 0;

}

Пояснення:

k, b и z - это целочисленные переменные, которые имеют значения 3, 4 и 2 соответственно.

x, y, c, a и f - это переменные с плавающей точкой двойной точности.

Запрашивается пользовательский ввод для переменной c и присваивается значение c с помощью оператора cin.

f вычисляется как синус c.

y вычисляется как z + fabs(pow(f, 1.0 / 3.0)), где fabs - это функция модуля, а pow - это функция возведения в степень.

x вычисляется как 2 * pow(z, 5) + y.

a вычисляется как (pow(b, 3) + pow(x, z+k)) / (0.63 * pow(y, 2) + 1).

Затем значения a, x, f и y выводятся на консоль с помощью оператора cout.


Literatorhelp: Пробуй так
Похожие вопросы