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

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

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

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

02.07.2011, 20:06. Просмотров 1798. Ответов 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++
Задана матрица x(n,m). Сформировать вектор y(n), содержащий сумму элементов строк. Найти максимальную сумму строки. Заранее спасибо.

Функции языка С++ - C++
Написать функции сложения матрицы с константой, умножения и деления матрицы на константу. Заранее спасибо:)

Стандартные и пользовательские функции языка С - C++
Помогите написать на чистом Си в одном проекте. 1) Даны три целые числа. Поднять квадрату отрицательные числа и к кубу -...

Стандартные и пользовательские функции языка С - C++
1) Найти периметр и площадь прямоугольного треугольника, если данные длины его катетов a и b. 2) Дано три действительных числа X, Y, Z....

Стандартные и пользовательские функции языка С - C++
Помогите пожалуйста написать программы на чистом Си в одном проекте. 1) Для нагрева 300 л. воды от 10 oС до 100 oС необходимо сжечь...

Стандартные функции ввода/вывода языка Си - C++
Приветствую всех.У меня проблема.Я решил попробовать функции ввода/вывода в стиле Си.Написал прогу которая должна выводить сумму a и b,но...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
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;
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.07.2011, 20:39
Привет! Вот еще темы с ответами:

Функции языка с++ и считывание данных в массив - C++
Помогите найти ошибку в решении задачки на функции с++ и хранение данных в массиве. Программа должна запрашивать ввод данных (счета при...

Создать функцию для обработки символьных строк. За образец брать библиотечные функции обработки строк языка С, но не применять их в своей функции - C++
Доброго времени суток! Крайне необходима помощь экспертов в С++! Кто может - не оставьте меня в беде))) Вот задания: 3. Создать...

По русскому названию языка программирования определить английское название этого языка - C++
Задача на перечисляемый тип P=(ада, бейсик, модула2, лисп, паскаль, пл2, фортран); A=(ada, basic, modula2, lisp, paskal, pl1. fortran);

Выделение в исходном коде программы ключевых слов языка и операторов языка по словарю - C++
Разбор исходного текста на языке программирования. Выделение в исходном коде программы ключевых слов языка и операторов языка по словарю....


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
02.07.2011, 20:39
Ответ Создать тему
Опции темы

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