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

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

Войти
Регистрация
Восстановить пароль
 
FauLL
3 / 3 / 1
Регистрация: 17.05.2010
Сообщений: 64
#1

Создать DLL для генерации перестановок и сочетаний - C++

24.03.2014, 14:24. Просмотров 253. Ответов 1
Метки нет (Все метки)

Необходимо создать DLL для генерации перестановок и сочетаний.
Вот основная программа

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
62
63
64
65
66
67
68
69
#include <stdio.h>
 
int A[100];
int cnt;
int N;
 
void Combination(int n, int m);
void Permutation(int n);
 
int main() {
    printf("----- Combination(6, 4):\n");
    Combination(6, 4);
        
    printf("----- Permutation(4):\n");
    Permutation(4);
    
    getchar();
    return 0;
}
  
void Combination(int n, int m) {
     int cnt = 0;
     for(int i=0; i<m; i++) A[i] = i;
     int p = m-1;
     while(p >= 0) {
         printf("%3d. ", ++cnt);
         for(int i=0; i<m; i++) printf("%3d", A[i]);
         printf("\n");
         if(A[m-1] == n-1) p--; else p = m-1;
         if(p >= 0)
             for(int i=m-1; i>=p; i--) A[i] = A[p] + i - p + 1;            
    }
}
 
void reverse(int m) {
    int i=0;
    int j=m-1;
    while(i < j) {
        int r = A[i];
        A[i] = A[j];
        A[j] = r;
        i++;
        j--;
    }  
}
    
void antilex(int m) {
    if(m == 1) {
        printf("%3d. ", ++cnt);
        for(int i=0; i<N; i++) printf("%3d", A[i]);
        printf("\n");
    } else
        for(int i=0; i<m; i++) {
            antilex(m-1);
            if(i < m-1) {
                int r = A[i];
                A[i] = A[m-1];
                A[m-1] = r;
                reverse(m-1);
            }
        }
}
    
void Permutation(int n) {
    cnt = 0;
    N = n;
    for(int i=0; i<n; i++) A[i] = i; 
    antilex(n);
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.03.2014, 14:24     Создать DLL для генерации перестановок и сочетаний
Посмотрите здесь:

Программу для поиска сочетаний в С. C++
C++ Алгоритм генерации перестановок в лексикографическом порядке
Библиотека для генерации CHM файла C++
Программа генерации сочетаний C++
C++ Алгоритм рекурсивной процедуры генерации перестановок чисел
C++ Cравнить число перестановок для различных сортировок
C++ Разработать рекурсивную функцию, для вычисления числа сочетаний
C++ Какой проект надо создать для компилирования DLL
C++ Класс для генерации чисел
Использование queue.h для генерации дерева C++
C++ Как создать файл .dll со значками для приложений?
Создать шаблонную функцию для генерации рандомных чисел C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
FauLL
3 / 3 / 1
Регистрация: 17.05.2010
Сообщений: 64
26.03.2014, 22:38  [ТС]     Создать DLL для генерации перестановок и сочетаний #2
upp
Yandex
Объявления
26.03.2014, 22:38     Создать DLL для генерации перестановок и сочетаний
Ответ Создать тему
Опции темы

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