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

Функция в качестве параметра - C++

Восстановить пароль Регистрация
 
agility_leopard
 Аватар для agility_leopard
0 / 0 / 0
Регистрация: 11.08.2013
Сообщений: 6
17.06.2014, 18:59     Функция в качестве параметра #1
Я не знаю, как передать функцию в качестве параметра. При обработке программа никаких ошибок не выдает, но результат печатает неверный.
Кликните здесь для просмотра всего текста
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
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
#include <iostream>
#include <Windows.h>
#include <locale.h>
#include <math.h>
using namespace std;
 
void func(int);
 
typedef double(*Pfun)(double y1, int pp);
 
double f(double, int);
 
double Solution(double, int, Pfun f);
 
int main(){
    int p = 0;
 
    setlocale(0,"");
    cout << "Enter the P: ";
    cin >> p;
    
    cout << " x        |       y\n";
 
    func(p);
    system("pause");
    return 0;
}
 
void func(int step){
    double y = 0, x;
    for(int k = 0; k < 16; k++){
        x = 0.05 + 0.02 * k;
        y = Solution(x, step, f);
        cout << " " << x << "                " << y << " \n";
    }
 
}
 
 
double Solution(double x1, int pp, Pfun f){
    double y1 = 0, yn = 0, e, t;
    e = 10E-4;
    y1 = x1;
    yn = 1 / pp * ( (pp - 1) * y1 + x1 / f(y1, pp));
    t = y1 - yn;
    while(fabs(t) >  e){
        y1 = yn;
        yn = 1 / pp * ( (pp - 1) * y1 + x1 / f(y1, pp));
        t = y1 - yn;
    }
 
    return yn;
}
 
 
double f(double y1, int st){
    double step = y1;
    for(int i = 2; i <  st; i++)
        y1 = y1 * step;
    return y1;
}


http://firepic.org/images/2014-06/17/ci1x47vadm2j.jpg
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.06.2014, 18:59     Функция в качестве параметра
Посмотрите здесь:

Передача файла в качестве параметра C++
Как передать функцию в качестве параметра? C++
C++ Функция, изменяющая число, переданное ей в качестве параметра
C++ Функция, которая генерирует число в диапазоне от 0 до числа, которое передается ей в качестве параметра
C++ Функция, которая получает два параметра и возвращает результат деления первого параметра на второй
Структура в качестве параметра шаблона C++
Передача массива в функцию в качестве параметра C++
Передача класса в качестве параметра шаблона C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
schdub
 Аватар для schdub
2902 / 1246 / 222
Регистрация: 19.01.2009
Сообщений: 3,215
Завершенные тесты: 1
17.06.2014, 20:24     Функция в качестве параметра #2
agility_leopard, тут не проблемы с вызовом функции через указатель, заменив на непосредственный вызов функции ничего не меняется, как возвращало -nan, так и возвращает. У вас в коде много делений на 0 из-за этого такие резултаты. Нужно дебажить, а без понимания, чего вы хотите добиться трудно вам помочь. Например, строка 58 для STEP == 2 цикл не выполнит ни одной итерации, так и должно быть?
Yandex
Объявления
17.06.2014, 20:24     Функция в качестве параметра
Ответ Создать тему
Опции темы

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