Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 07.12.2021, 21:22   #1
Denis1010
Новичок
Джуниор
 
Регистрация: 26.11.2021
Сообщений: 2
По умолчанию Вычислить значение функции

Добрый вечер, выполняю задание. Подскажите пожалуйста, правильно ли я его выполнил. Если имеются ошибки, поправьте пожалуйста)
Заранее спасибо!

Задание:
изображение_2021-12-07_212131.png
изображение_2021-12-07_212151.png\

Мой код:
Код:
using namespace std;
#include <iostream>
#include <math.h>
 
int main()
{
    double x, y1, y2, z;
    double e = 2.718281828459045;
 
    cout << "Vvedite x1"; cin >> x;
    cout << "Vvedite y1"; cin >> y1;
    cout << "Vvedite y2"; cin >> y2;
 
 
    if (x<2) y1 = 5 * pow(x, 3) + 2 * x + 3;
    else if (x>6) y1 = 2*x + pow(e,x) / x + tan(x);
    
    y2 = sqrt(pow(y1, 2) + pow(x, 2));
 
    z = 2 * y1 + y2;
    cout << "res: " << z << '\n';
 
    
}
Denis1010 вне форума Ответить с цитированием
Старый 07.12.2021, 21:58   #2
digitalis
Старожил
 
Аватар для digitalis
 
Регистрация: 04.02.2011
Сообщений: 4,546
По умолчанию

1. Тут вычислено 1 значение, а чтобы от начального (Xbgn) до конечного (Xfin) с шагом dX- нужно замутить цикл. Предварительно запросить и ввести эти 3 параметра, а не x,y1,y2, потому что эти введённые тут же затираются вычислением.
2. Вместо pow(e,x) есть специальная функция Exp(x). Вместо pow(x, 2) логичнее было бы х*х. (Кстати, умный компилятор такой код и сгенрит, скорее всего) .
Глубоко не вникал. Ночь, морозы...
3. А что будет, если х >= 6 ? Если ХЗЧ, то при вводе надо не допустить Хкон >= 6.
Код:
   x = Xbgn ;
   while (x <= Xfin)
   { ....
      x += dX;
    }

Последний раз редактировалось digitalis; 07.12.2021 в 22:13.
digitalis вне форума Ответить с цитированием
Старый 07.12.2021, 22:07   #3
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,289
По умолчанию

Во втором if неверное условие - при x > 6 функция y1 вообще не определена. И в той же строке не хватает скобок, получились неверные числитель и знаменатель. А еще знаменатель нужно проверять на ноль, так как при двух значениях x из диапазона [2;6] он равен нулю (если верно прикинул).
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )

Последний раз редактировалось BDA; 07.12.2021 в 22:11.
BDA на форуме Ответить с цитированием
Старый 07.12.2021, 22:19   #4
digitalis
Старожил
 
Аватар для digitalis
 
Регистрация: 04.02.2011
Сообщений: 4,546
По умолчанию

Тут условие написано "по школьному", а не "по программистски", так что при переводе в исходник скобки должны были появиться там где надо. Но они не появились...
digitalis вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Найти значение функции Y(X) при заданном X. Используя стандартные функции, вычислить Y11=[Y], где [ ] означают целую часть от ч Viraj Паскаль, Turbo Pascal, PascalABC.NET 0 23.05.2015 12:30
Вычислить значение функции(или функция не определена), значение х вводится с клавиатуры Safok Помощь студентам 2 16.12.2014 08:04
Вычислить значение функции Anderkor Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 0 19.12.2012 22:30
Использование подпрограммы-функции: Вычислить значение функции (Турбо паскаль) RealUnited Паскаль, Turbo Pascal, PascalABC.NET 1 05.12.2012 20:34
Вычислить значение функции Stripped Помощь студентам 6 16.01.2010 22:05