Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Помогите решить задачку на функции языка c++

72K
02 июля 2011 года
Yashman
2 / / 01.07.2011
Пожалуйста не поленитесь, прочитайте всё и помогите :)

Разработайте функцию calculate(), принимающую два значения типа double и указатель на функцию, которая принимает в качестве аргументов два значения типа double и возвращает значение типа double. Функция calculate() также должна иметь тип double. Она должна возвращать значение, вычисляемое функцией, на которую указывает указатель. При этом используются значения типа double , являющиеся аргументами функции calculate(). Предположим, что у нас имеется следующие определение функции add() :

double add(double x, double y)
{
return x + y;
}

Затем вызов функции

double q = calculate(2.5, 10.4, add);

заставит функцию calculate() передать значения 2.5 и 10.4 функции add(), а затем вернуть значение (12.9), возвращаемое функцией add().
Примените эти функции, а также, по меньшей мере, ещё одну дополнительную функцию, определённую в теле функции add(), для работы программы. Программа должна использовать цикл, в котором пользователь вводит пары чисел. Для ввода каждой пары значений используйте функцию calculate(), чтобы обратиться к функции add(), а также, по меньшей мере, ещё к одной функции.
416
02 июля 2011 года
MaitreDesir
380 / / 02.01.2008
Надо использовать тип-функцию. Думай в эту сторону:
Код:
typedef double calcFunction(double,double);

double add(double a,double b)
{ return a+b; }

double calculate(double a, double b, calcFunction f)
{ return f(a,b); }

void main()
{
    double a=2.5, b=10.4;
    printf("%2.2f+%2.2f=%2.2f\n",a,b,calculate(2.5,10.4,add));
    getchar();
}
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог