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

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

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

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

24.03.2014, 14:24. Просмотров 260. Ответов 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);
}
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.03.2014, 14:24
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Создать DLL для генерации перестановок и сочетаний (C++):

Программа генерации сочетаний - C++
Добрый день, есть задание написать программу генерации сочетаний, алгоритм дан в учебнике, после попытки его реализовать получил...

Алгоритм генерации перестановок в лексикографическом порядке - C++
У меня проблема. Нужно перебрать все лексикографически следующие перестановки. Вот мой код. Одна перестановка делается, а дальше я не знаю,...

Алгоритм рекурсивной процедуры генерации перестановок чисел - C++
Нужен простенький алгоритм алгоритм рекурсивной процедуры генерации перестановок чисел от 1 до n... Например n==3 Вывод: 111 ...

Создать шаблонную функцию для генерации рандомных чисел - C++
Есть код, который заполняет вектор случайными значениями типа int. Можно ли сделать шаблон для функции random_number, чтобы она...

Какой проект надо создать для компилирования DLL - C++
Какой проект надо создать и как изменить исходник , что бы компилировал в DLL , а не в EXE ??

Как создать файл .dll со значками для приложений? - C++
Здравствуйте, уважаемые программисты! Не могли бы вы мне помочь? Как создать файл .dll со значками для приложений? Чтобы было...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
FauLL
3 / 3 / 1
Регистрация: 17.05.2010
Сообщений: 64
26.03.2014, 22:38  [ТС] #2
upp
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.03.2014, 22:38
Привет! Вот еще темы с ответами:

Создать программу генерации HTML файла - C++
Здравствуйте, помогите пожалуйста! Вот задание. Имеется два входных файла – файл_с_текстом и файл_словаря. Файл_с_текстом содержит...

Программу для поиска сочетаний в С. - C++
Вот программа на С, должна выдавать сочетания из m по n, но почему-то получаются не все варианты. Как её можно исправить? Очень хотелось бы...

Cравнить число перестановок для различных сортировок - C++
Напишите программу, которая сравнивает число перестановок элементов при использовании сортировки «пузырьком», методом выбора и алгоритма...

Разработать рекурсивную функцию, для вычисления числа сочетаний - C++


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

Или воспользуйтесь поиском по форуму:
Ответ Создать тему
Опции темы

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