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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 4.70
inham130
0 / 0 / 0
Регистрация: 23.11.2011
Сообщений: 35
#1

Генерация сочетаний из k элементов по n в лексикографическом порядке - C++

09.04.2013, 12:28. Просмотров 1291. Ответов 4
Метки нет (Все метки)

Помогите пожалуйста понять в чем ошибка
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
#include<iostream>
 
using namespace std;
#define n 6
#define k 4
int x [k];
 
int main()
{
    int i, j;
 
    for(i=0; i<k; i++)
        x[i] = i+1;
 
    while(1)
    {
        for(i=0; i<k; i++)
            cout << x[i];
 
        cout << endl;
        for(i=k-1; i>=0; i--)
        {
            if(x[i] < n-k+i+1)
            {
                x[i]++;
                 for(j=i+1; j<k; j++)
                    x[j] = x[j-1] + 1;
            }
        }
        if(i==1) break;
    }
    return 0;
}
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.04.2013, 12:28
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Генерация сочетаний из k элементов по n в лексикографическом порядке (C++):

Привести в лексикографическом порядке все r-размещения с повторениями из элементов множества {1,2, ... ,n} и определить их количество - C++
Условие задачи нужно написать програму с указанными входными данными и результатами, на С++ языке задано натуральные числа n и r....

Сортировка в лексикографическом порядке - C++
Здравствуйте. Помогите с программой. 1. С использованием структур написать программу, в которой вводится список слов и их определений....

Распечатать перестановки в лексикографическом порядке - C++
На вводе число,например 5 На выводе 12345 23451 и тд,в общем этих чисел будет 5! (факториал) Даже идей...

Упорядочить строки в лексикографическом порядке - C++
нужно упорядочить строки в лексикографическом порядке. вот код, но он не выводит на экран помогите найти ошибки, пожалуйста #include...

Следующая анаграмма строки в лексикографическом порядке - C++
Условие Для данного слова (последовательности строчных латинских букв) выведите следующее за ним (в лексикографическом порядке) слово,...

Перечисление перестановок порядка n в лексикографическом порядке - C++
1. Выбор начальной перестановки π = (π1, π2, …, πn) = (1, 2, …, n). Например, π = (2, 6, 5, 8, 7, 4, 3, 1). 2. Просмотр...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Ternsip
660 / 188 / 6
Регистрация: 10.05.2012
Сообщений: 595
09.04.2013, 14:43 #2
inham130,
Вот мой код :
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
#include <iostream>
#include <cmath>
#include <stack>
#include <algorithm>
#include <limits>
#include <string>
 
using namespace std;
 
int n, m;
stack <int> ans;
 
void brute(int pos, int cnt, int mask){
    if (cnt > m)
        return;
    if (pos == n){
        if (cnt == m)
            ans.push(mask);
        return;
    }
    brute(pos+1, cnt, mask);
    brute(pos+1, cnt+1, mask | (1<<pos));
}
 
int main(){
    freopen("input.txt", "rt", stdin);
    freopen("output.txt", "wt", stdout);
    cin >> n >> m;
    brute(0, 0, 0);
    printf("%d\n", ans.size());
    while (!ans.empty()){
        for (int j = 0; j < n; j++){
            if (ans.top() & (1<<j))printf("%d ", j+1);  
        }
        ans.pop();
        printf("\n");
    }
    return 0;
}
0
inham130
0 / 0 / 0
Регистрация: 23.11.2011
Сообщений: 35
09.04.2013, 17:54  [ТС] #3
Вы не могли бы перевести код на C. У меня с ООП пока что туго.
0
Ternsip
660 / 188 / 6
Регистрация: 10.05.2012
Сообщений: 595
09.04.2013, 18:29 #4
inham130, это раздел с++ а не си
0
BumerangSP
4286 / 1408 / 121
Регистрация: 16.12.2010
Сообщений: 2,941
Записей в блоге: 3
09.04.2013, 19:47 #5
inham130, а где здесь ООП? Контейнер stack что ли? Тем более Ваш код на с++ (dpzm, хотя бы использование iostream).
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.04.2013, 19:47
Привет! Вот еще темы с ответами:

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

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

Сортировка слов в строке в лексикографическом порядке (по алфавиту) - C++
Как отсортировать слова в строке в лексикографическом порядке (по алфавиту)?Помогите , пожалуйста.

Сортировка массива строк в лексикографическом порядке 4 способами - C++
sort, версия 1.1 - написать класс для хранения массива строк и 6 методов: - чтение массива строк из файла - сортировка массива строк в...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
09.04.2013, 19:47
Ответ Создать тему
Опции темы

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