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

Нужна помощь в проверки правельности алгоритма - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ задача на действительные числа. http://www.cyberforum.ru/cpp-beginners/thread375306.html
Дано действительное число a. Для функции f(x), график которой представлен на рисунке, вычислить f(a).
C++ RegEx Первая обработка Доброго времени суток. Начал изучать регулярные выражения. Но ничего не могу понять, как оно все работает. Пожалуйста, покажите на простом примере, как можно, например строку "образец !@#с разными$ %непонятными символами^&*()!\"№;%:?* строки" отпарсить, чтобы в ней были только буквы и пробелы? Зарание, огромное спасибо!!! http://www.cyberforum.ru/cpp-beginners/thread375300.html
C++ перегрузка операций С++
Доброй ночи. Товарищи помогите пожалуйста, нужно срочно сдать лабораторную, а я никак не освою новый материал, негде даже нормальных примеров глянуть. Нужно написать программу, содержащую 4-5 классов (не важно каких и что в них есть), и перегрузить в каждом классе свою операцию (любую). Очень надеюсь на вашу помощь, спасибо!
[C++] Массивы и ссылки. C++
Здравстуйте, подскажите, как можно изменить эти программу, чтобы там была ссылка на массив? #include <iostream> #include <conio.h> using namespace std; int main() { setlocale (LC_ALL,"Rus"); int i, n, j, q, МинЭлем, Сумма; float Массив;
C++ vector<vector <bool> > http://www.cyberforum.ru/cpp-beginners/thread375278.html
vector<vector <bool> > v1; bool v2 = { {1,1}, {1,1}, }; как v1 присвоить v2? Добавлено через 1 минуту в c++11 есть вписки инициализации для векторов,
C++ Цикл for(int k=0;k<6;k++) { for(int i=0;i<6;i++) { { if (left.sum==left.new_mas) { } else подробнее

Показать сообщение отдельно
YouDoItWrong
46 / 46 / 7
Регистрация: 29.10.2011
Сообщений: 154

Нужна помощь в проверки правельности алгоритма - C++

31.10.2011, 08:51. Просмотров 789. Ответов 11
Метки (Все метки)

Всем доброе время суток. Собственно вот моя реализация алгоритма Рунге - Кутты, для решения ОДУ.
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
class RUNGE_KUTTA {
public:
    int N;
    double t;
    double *K;
    double *KK,*K1,*K2,*K3,*K4;
    RUNGE_KUTTA(int Na) {
        N=Na;
        if(N<1) {
            return;
        }
        K = new double[N];
        KK = new double[N];
        K1 = new double[N];
        K2 = new double[N];
        K3 = new double[N];
        K4 = new double[N];
    }
    ~RUNGE_KUTTA() {
        delete[] K;
        delete[] KK;
        delete[] K1;
        delete[] K2;
        delete[] K3;
        delete[] K4;
    }
    void SET_TERM(double t0, double *K0) {
        t = t0;
        for(int i = 0; i < N; i++) {
            K[i] = K0[i];
        }
    }
    double GET_TIME() {
        return t;
    }
    void F(double t, double *K, double *dY);
    void STEP_IN(double dt) {
        if(dt < 0) {
            return;
        }
        F(t, K, K1);
        for(int i=0; i < N; i++) {
            KK[i] = K[i] + K1[i] * (dt/2.0);
        }
        F(t + dt/2.0, KK, K2);
        for(int i=0; i<N; i++) {
            KK[i] = K[i] + K2[i] * (dt/2.0);
        }
        F(t + dt/ 2.0, KK, K3);
        for(int i=0; i<N; i++) {
            KK[i] = K[i] + K3[i] * (dt);
        }
        F(t + dt, KK, K4);
        for(int i=0; i<N; i++) {
            K[i] = K[i] + dt / 6.0 * (K1[i] + 2.0 * K2[i] + 2.0 * K3[i] + K4[i]);
        }
        t = t + dt;
    }
};
Собственно кто-нибудь может помочь протестировать алгоритм на нескольких функциях, покритиковать код, и проверить правильность его реализации, предложить какие-либо дополнения к коду, заранее спасибо.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 10:37. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru