Top.Mail.Ru
Ответы

Помогите с кодом на C

Нужно написать код с выражением с 1 картинки, но уже в процессе работы над ним возникла проблема. Почему-то все компиляторы выдают ошибку в записи степени с pow, а я не понимаю почему (((

По дате
По рейтингу
Аватар пользователя
Новичок

tan и exp в коде - функции без аргументов. printf и scanf записаны неправильно и не там, где надо, а pow тут вообще не нужна :)

#include <stdio.h>
#include <math.h>
int main(){
float x; printf("x: "); scanf("%f",&x);
printf("%g\n",x*x-cos(log(sqrt(fabs(x)-1)))/tan(exp(-x)));}

Аватар пользователя
Высший разум
123456789101112131415161718
 #include <math.h> 
#include <stdio.h> 
#define pi 3.1415926535897932 
int main(void) { 
    double e = 1e-10; 
    double n = log(2.0 / (3.0 * pi)); 
    double x, a; 
    printf("x: "); 
    scanf("%lf", &x); 
    a = fabs(x) - 1.0; 
    if (a <= 0 || fabs(x - n) < e) { 
        puts("No solutions!"); 
    } else { 
        double z = pow(x, 2) - cos(log(sqrt(a) / tan(exp(-x)))); 
        printf("z: %.15lf\n", z); 
    } 
    return 0; 
} 
Аватар пользователя

не помогу

Аватар пользователя
Мыслитель

```c
double pow(double x, double y);
```

Она принимает два аргумента типа `double` и возвращает `double`. Если вы используете целочисленные переменные, вам нужно явно преобразовать их к типу `double`:

```c
int base = 2;
int exponent = 3;
double result = pow((double)base, (double)exponent);
```

Также, убедитесь, что вы включили заголовочный файл `<math.h>`, который объявляет функцию `pow`. Если это не решает проблему, пожалуйста, предоставьте больше информации или фрагмент вашего кода для того, чтобы я мог точнее определить, в чем проблема.