Форум программистов, компьютерный форум, киберфорум
Наши страницы

Вычисление функции на промежутке - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ дерево http://www.cyberforum.ru/cpp-beginners/thread346638.html
Сделал дерево, если его ветви создаются на стадии компиляции, то все работает нормально, но если их создает пользователь, то все ветви созданные пользователем принимают название последней созданной...
C++ Видео курс по С/С++ Дайти ссылки на нормальные видео уроки по С/С++. очень надо http://www.cyberforum.ru/cpp-beginners/thread346636.html
C++ Составить блок схему по коду
Люди кто может напишите плиз блок схему к этой программе, сам плохо понимаю #include <iostream> #include <fstream> #include <string> #include <iterator> using namespace std; void cp(ifstream...
make_pair C++
Почему в функцию make_pair аргументы передаются не по ссылке? http://www.cplusplus.com/reference/std/utility/make_pair/
C++ Сверхбольшие числа http://www.cyberforum.ru/cpp-beginners/thread346569.html
Нужно например мне хранить и выполнять действия с числом 1 235 589 145 236 987 125 874 369 123 253 964 123 362 584 128 983 125 412 325 698 458 488 548, 152 Как это сделать, но так чтоб нечего...
C++ 2 вопроса Всем привет! У меня 2 глупых вопроса 1. Допустим, такой код int value() const { return m_nValue; } В чём смысл const? подробнее

Показать сообщение отдельно
fasked
Эксперт С++
4974 / 2554 / 180
Регистрация: 07.10.2009
Сообщений: 4,311
Записей в блоге: 1
31.08.2011, 17:48
Да ладно вам, ребята. Смотрите какой я велосипед написал
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
#include <algorithm>
#include <iterator>
#include <iostream>
#include <iomanip>
#include <utility>
#include <memory>
#include <vector>
#include <cmath>
 
namespace Calculation
{
    template <typename InputType, typename OutputType>
    struct FunctorBase {
        virtual OutputType operator()(const OutputType &arg) const = 0;
    };
 
    template <typename InputType, typename OutputType, typename FunctorType>
    struct FunctionLinearGenerator {
        InputType step;
        InputType current;
        InputType lowBound;
        InputType highBound;
 
        std::auto_ptr<FunctorBase<InputType, OutputType> > functor;
 
        FunctionLinearGenerator(const InputType &low, const InputType &high,
                const InputType &_step, FunctorType *f) :
            step(_step), lowBound(low), highBound(high), current(low),
            functor(f)
        {
        }
 
        OutputType nextValue() {
            return functor->operator()(current += step);
        }
 
        bool stop() const {
            return current >= highBound;
        }
    };
}
 
struct SomeFunction : public Calculation::FunctorBase<double, double> {
    virtual double operator() (const double &x) const {
        return std::pow(std::cos(x), 2) +
               3 / std::pow(std::sin(x), 2) +
               2 * x;
    }
};
 
int main() {
    Calculation::FunctionLinearGenerator<double, double, SomeFunction> f(.0, 2.5, .1, new SomeFunction);
 
    while (!f.stop()) {
        std::cout << std::showpoint << std::fixed << std::setprecision(3)
                  << f.current << " | " << f.nextValue() << std::endl;
    }
 
    return 0;
}
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru