Простейшая ошибка для более-менее опытного программиста, но не меня - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Написал код
#include <stdio.h>
#include <math.h>
#include <locale.h>
 
int main (void) {
    float x, y, g;
setlocale(LC_ALL, "RU");
    printf("Введите два числа");
    scanf("%f%f", &x, &y);
    if (x*y<2)
        g=(x+6*y)/(2);
            printf("g= %f\n", g);
    if (x*y>=1 && x*y<=10)
        g=(2)/(pow(exp,x))+cos(fabs(x-y));
            printf("g= %f\n", g);
    if (x*y>10)
        g=(x*y+1)/(2+pow(x,2)+x*y);
    printf("g= %f\n", g);
        return 0;
}
После компиляции вылазит следующая ошибка: error #2140: Type error in argument 1 to 'pow'; expected 'double' but found 'double __cdecl (*)(double)'. Что изменить в этой строчке?

Решение задачи: «Простейшая ошибка для более-менее опытного программиста, но не меня»

textual
Листинг программы
g=2/(exp(x)+cos(fabs(x-y));

Объяснение кода листинга программы

  1. В коде имеется переменная x, которая не была инициализирована и используется в выражении.
  2. В коде имеется переменная y, которая не была инициализирована и используется в выражении.
  3. Функция exp(x) возвращает экспоненту от значения переменной x.
  4. Функция cos(fabs(x-y)) возвращает косинус от абсолютного значения разности x и y.
  5. Результат выражения 2/(exp(x)+cos(fabs(x-y))) присваивается переменной g.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

13   голосов , оценка 4 из 5
Похожие ответы