0 / 0 / 1
Регистрация: 01.10.2010
Сообщений: 49
1

Дано вещественное Х. Составить программу вычисления у=f(x), если f(x)=...

01.10.2010, 12:52. Показов 2034. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Дано вещественное Х. Составить программу вычисления у=f(x), если
f(x)=sqrt(1/(2*PI*x))*pow((ln(sin(x)))/(sin(2*x)+cos(x)),1/3)
Я ее пытался решить, получилось:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#include <stdio.h>
#include <conio.h>
#include <iostream>
#include <math.h>
using namespace std;
void main()
{
    float x,y,a,r;
    const float PI=3.1415;
    printf("input x=");
    scanf("%f",&x);
    
    a=1./3;
    r=(log(sin(x))/(sin(2*x)+cos(x)));
    
    if 
        ((x!=0)&&(sin(x)>0)&&(sin(2*x)+cos(x)!=0)&&(x<=PI)&&(x>=(-1)*PI))
        {
            y=sqrt(1/(2*PI*x))*pow(r,a);
    
            printf("y=%f",y);
        }
    else 
        printf("x not valid");
    getch();
}
но программа считает правильно только при x>=1.6, а при меньших значениях выдает -1#IND0... Прошу помочь.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
01.10.2010, 12:52
Ответы с готовыми решениями:

Задано вещественное значение аргумента х. Составить блоксхему и программу вычисления значения функции у
Задано вещественное значение аргумента х. Составить блок-схему и программу вычисления значения...

4.77. Составить программу для вычисления значения функции у(л): -1, если х < -1, у = х, если х > —1, 1, если х = -1
4.77. Составить программу для вычисления значения функции у(л): -1, если х &lt; -1, у = х, если х &gt;...

Дано натуральное число n. Составить программу вычисления S = 1! + 2! + 3! + …+ n!
Дано натуральное число n. Составить программу вычисления S = 1! + 2! + 3! + …+ n! Помогите с...

Дано натуральное число m. Составить программу для вычисления р=2*4*6*…*2m
Дано натуральное число m. Составить программу для вычисления р=2*4*6*…*2m

3
Бродяга
314 / 268 / 56
Регистрация: 27.08.2010
Сообщений: 553
01.10.2010, 13:47 2
pow(r,a) - тут ghb при x>=1.6 похоже будет вычисляться кубический корень из отрицательного числа. Поэтому выдаёт ошибку. Не знаю, правильный вариант, или нет - я попробовал брать корень из модуля числа и добавлять знак:

C++
1
y=sqrt(1/(2*PI*x))*(r/fabs(r))*(pow(fabs(r),a));
Как пример:
C++
1
2
3
const float b = -27.0;
cout<<pow(b,1./3)<<endl; // не работает
cout<< (b/fabs(b))*(pow(fabs(b),1./3))<<endl; //  работает
2
Эксперт С++
5055 / 3115 / 271
Регистрация: 11.11.2009
Сообщений: 7,044
01.10.2010, 14:03 3
dihlofos,
А что, разве кубический корень из отрицательного числа не определён?

Добавлено через 3 минуты
А, ну да, там же всё это дело через Ньютона считается... Туплю.
0
Бродяга
314 / 268 / 56
Регистрация: 27.08.2010
Сообщений: 553
01.10.2010, 14:04 4
silent_1991, определён, но как его с помощью pow вычислить?

Добавлено через 27 секунд
Ну вот, и я о том же)
0
01.10.2010, 14:04
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
01.10.2010, 14:04
Помогаю со студенческими работами здесь

Дано натуральное число n. Составить программу вычисления следующего произведения
Дано натуральное число n. Составить программу вычисления следующего произведения: \frac{\cos...

Дано натуральное число n. Составить программу вычисления значения выражения
Помогите решыть. Дано натуральное число n. Составить программу вычисления значения выражения:

Дано натуральное число n. Составить программу вычисления значения выражения
cos1/sin1*cos1+cos2/sin1+sin2*...*cos1+...+cos n/sin1+...sin n

Дано вещественное x. Вычислить z = f( x ), не получается составить код
Дано вещественное x. Вычислить z = f( x ) http://ms.sfu-kras.ru/file.php/59/Lab_5/image014.gif...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru