Не получается правильно откомпилировать программу - C (СИ)
Формулировка задачи:
Выручайте. Необходимо было написать программу с помощью условного оператора if. Вкладываю картинку с названием Снимок.png - это само задание. Я написал программу, которая вроде как должна работать, логически там вроде всё правильно составленно, но при исполнении программы выводится значение 0.000 (тоесть ответ). Вкладываю картинку с названием Снимок2.jpg. Вот сам код программы:
Помогите пожалуйста, очень хочется разобраться
#include <math.h>
#include <stdio.h>
#define PI 3.14
main()
{
float x,y,k;
printf ("Vvedite znachenie x\n");
scanf ("%f",&x);
if (x>10.2)
{
y=(1-cos(2*x))/(1+cos(2*x));;
}
else
{
if (0.3<x and x<10.2)
{
y=((1+cos(2*x*PI))/(1-cos(2*x*PI)))*(tan(pow(x,2)))+(sqrt(tan(pow(x-1,2))));
}
else
{
y=log10(tan(x-3)+(exp(fabsf(x-3)))+(exp(fabsf((-1)*x))))*log(fabs(x));
}
}
printf ("%f",&y);
scanf ("%f",&k);
}Решение задачи: «Не получается правильно откомпилировать программу»
textual
Листинг программы
y=(1-cos(2*x))/(1+cos(2*x));;
Объяснение кода листинга программы
- В скобках
(1-cos(2*x))/(1+cos(2*x))содержится математическая формула, которая вычисляет значение функции y. - Функция cos(2*x) вычисляет косинус удвоенного значения переменной x.
- Знаменатель (1+cos(2*x)) обеспечивает правильное деление.
- Числитель (1-cos(2*x)) представляет собой выражение, которое вычитает значение косинуса удвоенного значения переменной x из единицы.
- Деление числителя на знаменатель дает значение функции y.
- Значение функции y сохраняется в переменной y.