Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/16: Рейтинг темы: голосов - 16, средняя оценка - 5.00
Tokenzier
0 / 0 / 0
Регистрация: 20.01.2011
Сообщений: 15
1

Перебор комбинаций

06.06.2011, 20:06. Просмотров 3104. Ответов 3
Метки нет (Все метки)

Здравствуйте! Возникла такая задача. Дан одномерный массив из N цифр,нужно составить все возможные комбинации чисел из этих цифр(числа должны состоять из N цифр). Т.е, например, дан массив из 3х элементов {1,2,3}
Числа: 123, 132, 213, 231, 321, 312. Цифры не должны повторяться. Помогите, пожалуйста. Заранее спасибо.
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.06.2011, 20:06
Ответы с готовыми решениями:

Перебор комбинаций
Доброго времени суток. Нашел в сети картинку - генератор речей. 4 столбика по 6 фраз в каждом. При...

Перебор комбинаций с исключениями
Здраствуйте!Хочу попробовать сделать задачу:есть число n которое указывает количество цифр и есть...

Перебор всех комбинаций
Здравствуйте, подскажите как переделать этот код, что бы он начинал с нужной длины строки?...

Как сделать перебор комбинаций?
Доброго времени суток! Есть массив символов и надо перетасовать и вывести их во всех возможных...

Быстрый перебор всех комбинаций 32 байтов
Здравствуйте, как можно очень быстро перебрать все комбинации 32 байтов, с записью результата в...

3
Mиxaил
536 / 441 / 162
Регистрация: 10.12.2009
Сообщений: 1,857
06.06.2011, 21:22 2
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
#include <iostream>
#include <algorithm>
#include <iomanip>
 
#define SizeOfArray 5
 
void PrintingArray ( int * Mas )
{
    for ( int index = 0; index < SizeOfArray; index++ )
        std::cout << std::setw (4) << Mas [ index ];
    std::cout << std::endl;
}
 
void FillingArray ( int * Mas )
{
    for ( int index = 0; index < SizeOfArray; index++ )
        Mas [ index ] = index;
}
 
int main()
{
    int * Array;
    Array = new int [ SizeOfArray ];
    
        FillingArray ( Array );
    
        do
    {
        PrintingArray ( Array );
    }
    while ( std::next_permutation ( Array, Array + SizeOfArray ) );
 
        delete [] Array;
    std::cin.get();
    return 0;
}
2
артист
95 / 22 / 20
Регистрация: 17.09.2014
Сообщений: 1,253
Завершенные тесты: 3
13.11.2015, 19:34 3
Что - то не понятно...

Как подставить?
resc - массив с цифрами.
buf - массив для вставки комбинаций.

C++ (Qt)
1
2
3
4
5
6
7
8
9
do
{
    i = -1;
    while(++i < nums) std::cout << std::setw(4) << resc[i];
    std::cout << std::endl;
}
while(std::next_permutation(resc, resc + nums)) ;
                    
std::cin.get();
Куда совать?
0
Байт
Эксперт C
21881 / 13646 / 2877
Регистрация: 24.12.2010
Сообщений: 29,033
13.11.2015, 19:44 4
Генерация всех перестановок n элементного множества
Найти все десятизначные числа с неповторяющимися цифрами
1
13.11.2015, 19:44
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.11.2015, 19:44

Перебор всевозможных комбинаций, изменяемая длина и диапазон
Обгуглился уже, где - то может и видел то, что нужно, но в силу тупизны счёл не тем. Брут в...

Генерация комбинаций из n по m
Здравствуйте! Написала функцию для генерации комбинаций. Подскажите в чем ошибка, выдает не все...

Подсчет Комбинаций
решите, пожалуйста, эту задачку, заранее спасибо Постановка задачи Вы должны точно вычислить...


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

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

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