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

Метод Рунге-Кутта. - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Найти n чисел Мерсенна http://www.cyberforum.ru/cpp-beginners/thread175876.html
Числа Мерсенна. Простые число Мерсенна -это число, которое может быть представлено в виде: 2^p-1, где р-тоже простое число. Написать программу для нахождения n таких чисел.
C++ Дано множество отрезков, найти max объединение дано множество отрезков.найти max объединение.подскажите плиз алгоритм. http://www.cyberforum.ru/cpp-beginners/thread175845.html
C++ Создать меню с командами Input, Calc, Quit
Мне нужно сделать вот это к пятнице я уже в течении недели пятаюсь но не выходит(+работа много времени убивает)... Я всё создал но незнаю как это всё запрограмировать особенно не выходило сделать переменную глобальной((( В файле то что я пытался сделать(( Может кто нибудь доделать или подсказать что к чему. Сам знаю работа пустяк но что-то ни как у меня мозг не дойдет(( Создать меню с...
C++ получить масссив случайных чисел из 1000 элементов по возрастанию/убыванию
1)надо получить масссив случайных чисел из 1000 элементов по возрастанию. 2)надо получить масссив случайных чисел из 1000 элементов по убыванию.
C++ Найти такие числа, десятичное представление которых содержит убывающую последовательность http://www.cyberforum.ru/cpp-beginners/thread175834.html
Среди простых чисел, не превосходящих заданного числа N, найти такие, десятичное представление которых содержит убывающую последовательность чисел.
C++ Конвертирование из float в str и наоборот Приветствую всех! Господа, помогите освоить конвертацию типов. Знаю, что такие темы не раз поднимались, но прочитав их чего-то недопонял (ибо я новичок). Многие советуют использовать atoi, scanf и т.д., но не знаю как их применять. Вот например: float a; string str="exit"; cin >> a; if (a==str) exit(1); else ... ля-ля-ля-тополя Теперь тут ошибка выходит, что нет конвертации. Вот теперь, как... подробнее

Показать сообщение отдельно
fasked
Эксперт С++
4933 / 2513 / 180
Регистрация: 07.10.2009
Сообщений: 4,311
Записей в блоге: 1
13.10.2010, 17:30     Метод Рунге-Кутта.
Ну самый простой пример в голову пришел на сортировке:
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
#include <stdio.h>
 
int less(int a, int b) {
    return a < b;
}
 
int more(int a, int b) {
    return a > b;
}
 
void sort(int *a, int size, int (*compare)(int, int)) {
    int i = 0;
    int j = 0;
    int t = 0;
 
    for(i = 0; i < size; ++i) {
        for(j = i + 1; j < size; ++j) {
            if(compare(a[j], a[j-1])) {
                t = a[j];
                a[j] = a[j-1];
                a[j-1] = t;
            }
        }
    }
}
 
int main()
{
    int data[] = { 0, 5, 3, 10, 4 };
    int size = sizeof(data) / sizeof(*data);
 
    int i;
 
    printf("data size %d\n", size);
    
    for(i = 0; i < size; ++i)
        printf("%d ", data[i]);
    printf("\n");
 
    sort(data, size, more);
 
    for(i = 0; i < size; ++i)
        printf("%d ", data[i]);
    printf("\n");
 
    return 0;
}
В зависимости от того, какую функцию указать для сортировки будет различный результат.
Синтаксис указателей на функции довольно труден для понимания. И если создавать указатели на сложные функции, то можно и запутаться. Здесь удобно применять typedef.

C
1
typedef int (*fcmp_t)(int, int);
C
1
void sort(int *a, int size, fcmp_t compare) {
Можете почитать еще вот здесь про указатели http://www.cyberguru.ru/programming/...p2-page67.html
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru