Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
1 / 1 / 0
Регистрация: 12.04.2017
Сообщений: 33
1

Вызов функции члена в заданом диапазоне

19.09.2017, 10:27. Показов 520. Ответов 5
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Нужно описать класс, в котором значение функции будет вычисляться в заданном диапазоне.
Ну, допустим, есть функция:

C++
1
2
3
4
5
6
7
8
if (x < 0)
{
    y = sin(abs(2 * x)) / cos(abs(2 * x)) + sin(x / 2) / cos(x / 2);
}
else if (x >= 0)
{
    y = sin(abs(x*x - 1)) / cos(abs(x*x - 1)) + sin(x);
}
Как сделать с заранее выбранным диапазоном и как сделать, чтобы его выбирал пользователь?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
19.09.2017, 10:27
Ответы с готовыми решениями:

рекурсивный вызов функции-члена
как осуществить рекурсивный вызов функции члена?

Вызов функции-члена элементов списка
Вот есть список, хранящий указатели (на экземпляры классов). Можно ли в нем реализовать подобную...

Вызов функции-члена класса по адресу в памяти
Всем хорошего дня :) Допустим, что где-то есть static функция, не принимающая аргументов и...

Вызов функции-члена через std::function
Суть в следующем Задача сделать обертку вызывающую функцию член класса с параметрами. Для...

5
1437 / 1014 / 228
Регистрация: 31.05.2013
Сообщений: 6,645
Записей в блоге: 6
19.09.2017, 10:34 2
Например, так:
C++
1
2
3
4
5
6
7
double function func(int a, int b)
{
if (a < x && x <= b)
   return (sin(abs(2 * x)) / cos(abs(2 * x)) + sin(x / 2) / cos(x / 2));
else
   return (sin(abs(x*x - 1)) / cos(abs(x*x - 1)) + sin(x));
}
0
1 / 1 / 0
Регистрация: 12.04.2017
Сообщений: 33
19.09.2017, 11:10  [ТС] 3
Это ведь два числа? А как сюда вставить шаг?
0
1437 / 1014 / 228
Регистрация: 31.05.2013
Сообщений: 6,645
Записей в блоге: 6
19.09.2017, 12:11 4
Так, стоп. При чём здесь шаг?
Вы хотите строить поточечно?
Тогда можно так:
C++
1
2
3
4
5
6
7
double function func(int a, int b, double x)
{
if (a < x && x <= b)
   return (sin(abs(2 * x)) / cos(abs(2 * x)) + sin(x / 2) / cos(x / 2));
else
   return (sin(abs(x*x - 1)) / cos(abs(x*x - 1)) + sin(x));
}
Вызов будет в цикле:
C++
1
2
3
4
5
double step = 0.1;
for(double h = 0; h<b; h+= step)
{
cout << func(a, b, x + h) << endl;
}
Добавлено через 59 секунд
Цитата Сообщение от jsartre Посмотреть сообщение
Это ведь два числа?
Да, два числа. Вы же написали:
Цитата Сообщение от jsartre Посмотреть сообщение
в заданном диапазоне
А диапазон всегда подразумевает два числа.

Добавлено через 1 минуту
Я Вам пишу, как вычислить значение функции. Класс уже Вы объявляйте и конструируйте
0
1 / 1 / 0
Регистрация: 12.04.2017
Сообщений: 33
19.09.2017, 12:37  [ТС] 5
Цитата Сообщение от Matan! Посмотреть сообщение
Так, стоп. При чём здесь шаг?
Хм... просто я думал, что диапазон подразумевает собой шаг. То есть, например, числа: 3 и 5, а между ними шаг 0.5. А если и вовсе не будет шага, то что тогда выдаст компилятор? Я не совсем понимаю.

И, объясните, пожалуйста, почему вы используете double, а не float, к примеру? Имеет ли это значение в данном случае?
0
1437 / 1014 / 228
Регистрация: 31.05.2013
Сообщений: 6,645
Записей в блоге: 6
19.09.2017, 12:58 6
Цитата Сообщение от jsartre Посмотреть сообщение
Имеет ли это значение в данном случае?
Не имеет.
Цитата Сообщение от jsartre Посмотреть сообщение
А если и вовсе не будет шага, то что тогда выдаст компилятор?
А как Вы используете шаг? Мы только проверяем, входит ли наш х в заданный отрезок или нет. И всё. Если Вы хотите построить таблицу значений для Вашей функции в заданном диапазоне - это другой вопрос, и там уже будет шаг.
0
19.09.2017, 12:58
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
19.09.2017, 12:58
Помогаю со студенческими работами здесь

Объявление класса, создание объекта и вызов функции-члена
Всем добрый день! Вот так я объявляю класс. typedef map&lt;string, double&gt; datablock; typedef...

Как такое может быть? (вызов функции-члена без объекта)
собственно вопрос озвучен. #include &lt;iostream&gt; using namespace std; class Test { public:...

Простое Наследование и ошибка "Недопустимый вызов нестатической функции-члена"
У меня есть два класса M и К (наследуется от М). В классе М есть три переменные a,b,c. В классе К...

Выделение и удаление страниц в заданом диапазоне по алгоритму в Word 2010
Помогите создать настройку в Word 2010, чтобы можно было удалить страницы в заданном диапазоне...


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

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