Вычислить f(x)

Что неправильно?

#include "stdafx.h"
#include "conio.h"
#include "stdio.h"
#include "math.h"
#include "iostream"
using namespace std;

int _tmain(int argc, _TCHAR* argv[])
{

float x, y, a;
a= 0,054;
scanf ("%f", &x);
y= log ( sin(x) * sqrt( (1 + cos (a/x) ) / (a * x * sin(x)))) + sqrt ( sin(x)/x );
if ( x!=0 && (a*x*sin(x))!=0 && (sin(x)/x) >= 0 &&  ( sin(x) * sqrt( (1 + cos (a/x) ) / (a * x * sin(x)))) > 0)
{ 
    printf ("%.2f\n", y);

}
else 
    printf ("Error");

system ("pause");

}

По поводу ошибок в коде — заголовочные файлы из стандартной библиотеки подключаются с помощью угловых скобок < и >, а не кавычек.

#include <cstdio>
#include <cmath>
#include <iostream>
using namespace std;

int main(int argc, char* argv[])
{
    float x, y, a;
    a = 0,054;

    scanf("%f", &x);

    y = log (sin(x) * sqrt((1 + cos (a/x)) / (a * x * sin(x)))) + sqrt (sin(x)/ x);
    if (x != 0 && (a*x*sin(x))!=0 && (sin(x)/x) >= 0 &&  ( sin(x) * sqrt( (1 + cos (a/x) ) / (a * x * sin(x)))) > 0)
    {
        printf ("%.2f\n", y);
    }
    else
    {
        printf ("Error\n");
    }
    return 0;
}

Почему-то при любом х всегда выводит Error. Когда убрал проверку одз (if), всегда выводит ответ: 1.#J
Что я не так сделал? Формулу правильно написал? ОДЗ?

Внимание! Это довольно старый топик, посты в него не попадут в новые, и их никто не увидит. Пишите пост, если хотите просто дополнить топик, а чтобы задать новый вопрос — начните новый.

Ответить

Вы можете использовать разметку markdown для оформления комментариев и постов. Используйте функцию предпросмотра для проверки корректности разметки.

Пожалуйста, оформляйте исходный код в соответствии с правилами разметки. Для того, чтобы вставить код в комментарий, скопируйте его в текстовое поле ниже, после чего выделите то, что скопировали и нажмите кнопку «код» в панели инструментов. Иначе ваш код может принять нечитаемый вид.

Либо производите оформление кода вручную, следующим образом:

``` #include <iostream> using namespace std; int main() { // ... } ```

Предпросмотр сообщения

Ваше сообщение пусто.