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

Вычислить значение интервально заданной функции

16.12.2018, 16:13. Показов 1001. Ответов 6
Метки нет (Все метки)

Добрый день можете пожалуйста подсказать что не так с кодом программа работает. И еще я правильно записал sin^2X и lg^2. заранее благодарю.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
int y,x; double a,b;
    cout << "Введите числа" <<endl;
    cin >> x;
    cin >> a;
    cin >> b;
        if (x < 1) 
    {
        y = (log(2)*(5-x))/(pow(sin(x),2)*x);
    }
    else    if (x = 0) 
    {
        y = 0;
    } 
        else y = (sqrt(b*x)-a)/(5+pow(cos(x),2));
    cout << "y = " << y << endl;
Миниатюры
Вычислить значение интервально заданной функции  
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
16.12.2018, 16:13
Ответы с готовыми решениями:

Вычислить значение интервально заданной функции
Добрый день, помогите пожалуйста составить формулу, с выбором функции:

Вычислить значение интервально заданной функции
\prod_{i=1}^{5}(3i+(x+i*i)\sum \frac{n*n*n}{n*n+x}

Вычислить значение интервально заданной функции
Как это запрограммировать П.5.18.Правил Запрещено размещать задания и решения в виде картинок и...

Вычислить значение интервально заданной функции
Всем здравствуйте)) подскажите как проверить эту функцию под корнем &gt;0,деление на 0, очень нужно)...

6
Модератор
Эксперт С++
12099 / 9772 / 5908
Регистрация: 18.12.2011
Сообщений: 26,235
16.12.2018, 16:32 2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
    if (x < 1) 
    {
        double t=log(5.0-x)/sin(x);
        y =t*t;
    }
    else  if (x == 0) 
    {
        y = 0;
    } 
    else 
    {
         double t=cos(x);
         y = (sqrt(b*x)-a)/(5.+t*t);
    }
К первому условию для устранения деления на ноль я бы еще приписал проверку на равенство синуса нулю
C++
1
2
3
4
5
6
7
8
9
10
11
  
if (x < 1)
{
      double t=sin(x);
      if(t!=0)
      {
          t=log(5.-x)/t;
          y=t*t;
      }else
         y=0;
}
1
0 / 0 / 0
Регистрация: 06.06.2018
Сообщений: 37
16.12.2018, 16:50  [ТС] 3
Спасибо большое.

Добавлено через 5 минут
А такой вопрос что за переменную t Вы добавили это double и она вспомогательная.
А если мне нужно просто проверить программы на правильность написания я могу выложить готовые в новою тему ?
0
Модератор
Эксперт С++
12099 / 9772 / 5908
Регистрация: 18.12.2011
Сообщений: 26,235
16.12.2018, 17:41 4
Лучший ответ Сообщение было отмечено Bits1995 как решение

Решение

Не обязательно делать все вычисления в одном выражении.
Вычисляем по частям и записываем во временные переменные.
Кстати, x,y Вы напрасно сделали int. Они тоже должны быть double.
1
0 / 0 / 0
Регистрация: 06.06.2018
Сообщений: 37
16.12.2018, 19:51  [ТС] 5
извините возник вопрос 5.+t*t там жеж в условии косинус оно делит

Добавлено через 12 минут
Не обращайте внимание на предыдущее сообщения лучше бы по уравнения написать конечно я в принципе разобрался.а почему Вы не использовали pow(cos(x,2) в условии они есть. Нет таки лучше объясните за вот это просто в примерах не встречал 5.+t*t. Заранее благодарю и спасибо за помощь.
0
Модератор
Эксперт С++
12099 / 9772 / 5908
Регистрация: 18.12.2011
Сообщений: 26,235
16.12.2018, 21:11 6
t*t это и есть t2
Вообще не стоит возводить в целую степень через pow.
0
7416 / 5011 / 2890
Регистрация: 18.12.2017
Сообщений: 15,694
16.12.2018, 23:57 7
Цитата Сообщение от zss Посмотреть сообщение
я бы еще приписал проверку на равенство синуса нулю
это как раз необязательно при вводе значения x с клавиатуры, ввести https://www.cyberforum.ru/cgi-bin/latex.cgi?\pin думаю не получится. а вот проверить
bx>=0 нужно.
конструкция:
Цитата Сообщение от zss Посмотреть сообщение
C++
1
2
3
4
5
6
if (x < 1) 
{
double t=log(5.0-x)/sin(x);
y =t*t;
}
else if (x == 0)
вызывает вопросы. при x=0 должна выдать inf. в else проверять на ноль особого смысла нет.

но суть не в этом. есть подозрение, что ошибка в условии и во втором уравнении системы должно быть:
y=0, если x=1 (т.е. x не 0, а x=1)

Bits1995, уточните условие (условие для уравнения №2 системы) и сообщите если нужно решение
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
16.12.2018, 23:57
Помогаю со студенческими работами здесь

Вычислить значение интервально заданной функции
ПОМОГИТЕ, Я ТУПОЙ! Помогите пожалуйста сделать лабу на языке C++

Вычислить значение интервально заданной функции
Нужно написать программу.Прошу срочной помощи)

Вычислить значение интервально заданной функции
Ребят,помогите пожалуйста с программой. Нужно решить эту систему.вот мой код,но после второго...

Вычислить значение интервально заданной функции
Помогите написать код программы. y=\begin{cases} \text{ 68.1 tgx},x&gt;0 \\ \text{0.5 } , x=0 \\...


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

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

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