C/C++

Надо написать код на языке C 1 курс

2 пример
R&
Raf <Aper>
94
 #include  
#include
#include
#include

_Bool invalid_argument(double x) {
if (x != DBL_TRUE_MIN) return false;
puts("Invalid argument!");
return true;
}

double input(const char* msg) {
double value;
printf("%s", msg);
scanf_s("%lf", &value);
while (getchar() != '\n');
return value;
}

double fn(double x, double a, double b) {
double arg_log = cos(a * x);
if (arg_log
Максим Ермолин
Максим Ермолин
77 180
Лучший ответ
Вот так более-менее правильно:
 #include  
#include
int main()
{
int b, d;
double a, c, x, y;
for (;;)
{
printf("x a b: ");
scanf("%lf%lf%d", &x, &a, &b);
c = b / 3.;
d = c;
if (c == d)
y = (d & 1 ? c * log(cos(a * x)) :
c * log(fabs(cos(a * x))));
else y = c * log(cos(a * x));
printf("y = %.15g\n", y);
}
}
Видите ли, в первом случае (х=0,3, а=2,1, b=1) фактически требуется вычислить
㏑(∛(cos0,63)) = -0,0710530586999...
А так как cos0,63 = 0.808027508312..., то никаких трудностей при вычислении не возникает.
Однако во втором случае (х=0,3, а=9,8, b=6) фактически требуется вычислить
㏑(cos²2,94) = 2•㏑|cos2,94| = -0,04091788...
А так как cos2,94 = -0.97974892356..., то при машинном вычислении вещественной степени с отрицательным основанием возникают осложнения. Вот зачем у меня в коде вводятся дополнительные переменные c и d и проверяется на чётность число b/3 если оно целое.
И вообще - неужели шизофреник, который Вас тут жизни учит, не знает про школьную формулу
㏒(σᵝ)=β•㏒(σ)
( при σ<0 и чётном β ㏒(σᵝ)=β•㏒|σ| )
, если в своей параше какую-то степень налепил? Вот сами полюбуйтесь:Это провал идиотом первого варианта теста из задания. А вот следующий вариант теста из задания в исполнении этого липового "программиста":Так мало того, что его говнокод нерабочий, так Вам же ещё и мораль читает! Удивляюсь, как это чудо у Вас ещё не в бане? Что - минус нажать не можете?
Надо написать код на языке C 1 курс
А ключи от квартиры тебе не надо? Вообще как работать потом собираешься? Не надо было поступать в ВУЗ тогда, раз не разбираешься.
Ладно, вот программа (авось хоть чему-то научишься):
 #include  
#include
int main()
{
long double a, x;
long long int b;
printf ("Введите с клавиатуры значения переменных a, b и x (только числа). После ввода каждого из чисел нажимайте клавишу Enter. При вводе дробных значений целую часть от дробной отделяйте точкой, а не запятой. Внимание: значение переменной b должно быть только ЦЕЛЫМ числом!.\n");
printf ("Введите значение переменной a: a=");
scanf ("%Lf", &a);
printf ("\nВведите значение переменной b: b=");
scanf ("%Ld", &b);
printf ("\nВведите значение переменной x: x=");
scanf ("%Lf", &x);
printf ("\nОтвет: y = %Lf", logl (powl (cosl (a*x), (b/3))));
getchar ();
return 0;
}
Это - если на C. Надеюсь, что ты его не перепутал, например, с C++.

P.S. Смотри внимательно и не облажайся с регистром - где "%Lf" - там именно Lf, а не "lf". Ибо Lf - это long double, а lf - просто double (тип данных).
Это алгебра бебра
Raf <Aper> бебра ты , а это надо закодить