Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 12, средняя оценка - 4.67
Yashman
1 / 3 / 0
Регистрация: 02.07.2011
Сообщений: 90
#1

Функции языка с++ - C++

02.07.2011, 20:06. Просмотров 1671. Ответов 4
Метки нет (Все метки)

Пожалуйста не поленитесь, прочитайте всё и помогите . Заранее СПАСИБО!

Разработайте функцию 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(), а также, по меньшей мере, ещё к одной функции.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.07.2011, 20:06     Функции языка с++
Посмотрите здесь:

Функции языка С++ C++
Функции языка С++ C++
C++ Стандартные и пользовательские функции языка С
C++ Функции языка с++ и считывание данных в массив
C++ Стандартные и пользовательские функции языка С
C++ Стандартные и пользовательские функции языка С
C++ Выделение в исходном коде программы ключевых слов языка и операторов языка по словарю
C++ Создать функцию для обработки символьных строк. За образец брать библиотечные функции обработки строк языка С, но не применять их в своей функции
C++ Переписать символы с входящего рядка в выходящий, меняя операторы языка паскаль на операторы языка С++ := на =, = на ==, # на !=
Стандартные функции ввода/вывода языка Си C++
По русскому названию языка программирования определить английское название этого языка C++
Когда использовать WinAPI, а когда функции языка? C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
pito211
186 / 173 / 8
Регистрация: 22.03.2010
Сообщений: 612
02.07.2011, 20:07     Функции языка с++ #2
чем тебе помочь?
Yashman
1 / 3 / 0
Регистрация: 02.07.2011
Сообщений: 90
02.07.2011, 20:17  [ТС]     Функции языка с++ #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
27
28
29
30
31
32
33
34
#include <iostream>
 
using namespace std;
 
double calculate(double x, double y, double (*pt)(int) );
double add(double x, double y);
void is_busy(void);
int main()
{
    cout << "Enter a pair of numbers to calculate ";
    double x, y;
    cin >> x >> y;
    double q = calculate(2.5, 10.4, add);
        
    system ("PAUSE");
    return 0;
}
 
double add(double x, double y)
{
       is_busy();
       return x + y;
}
 
void is_busy(void)
{
     cout << "Computer is busy, calculating...\n";
}
 
double calculate(double x, double y, double (*pt)(int) )
{
       add(x, y);
       return x + y;
}
An1ka
65 / 70 / 2
Регистрация: 30.06.2011
Сообщений: 176
02.07.2011, 20:30     Функции языка с++ #4
Цитата Сообщение от Yashman Посмотреть сообщение
double calculate(double x, double y, double (*pt)(int) ) { add(x, y); return x + y; }
C++
1
double calculate(double x, double y, double (*pt)(double ,double ) ) { return pt(x, y);}
no0ker
101 / 88 / 4
Регистрация: 17.12.2010
Сообщений: 416
02.07.2011, 20:39     Функции языка с++ #5
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
 
double calc(double a, double b, double (* z)(double, double) ){
    return z(a,b);
}
 
double add(double x,double y){
    return x+y;
}
 
int main(){
    double(*pAdd)(double,double); // объявление указателя на функцию
    pAdd=&add; // указатель направлен на функцию add() 
    std::cout<<calc(5.1, 4.1, pAdd);
    return 0;
}
Добавлено через 8 минут
Yashman,
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
27
28
29
30
31
32
33
34
35
36
#include <iostream>
 
using namespace std;
 
double calculate(double x, double y, double (*pt)(double, double) );
double add(double x, double y);
void is_busy(void);
int main()
{
    cout << "Enter a pair of numbers to calculate \n";
    double x, y;
    cin >> x >> y;
 
    double q = calculate(x, y, &add);
 
    cout<<"\n"<<q;
    //system ("PAUSE");
    return 0;
}
 
double add(double x, double y)
{
       is_busy();
       return x + y;
}
 
void is_busy(void)
{
     cout << "Computer is busy, calculating...\n";
}
 
double calculate(double x, double y, double (*pt)(double, double) )
{
       pt(x, y);
       return x + y;
}
Yandex
Объявления
02.07.2011, 20:39     Функции языка с++
Ответ Создать тему
Опции темы

Текущее время: 22:25. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru