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

Все возможные перестановки букв слова - нужен алгоритм - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Помогите составить программу транслитерации. http://www.cyberforum.ru/cpp-beginners/thread397780.html
Составить программу , которая выводила бы на экран видеомонитора текст, который бы набирался русскими символами, а выводился их латинскими аналогами (транслитерация). Например слово "Слава" должно выводиться как "Slava".
C++ Сортировка в файле,доделать прогу Задание: Написать функцию, которая записывает в бинарный файл данные о сканере из приведенной структуры. Структура файла: в первых двух байтах размещается значение типа int, определяющее количество сделанных в файл записей; далее без пропусков размещаются записи о сканерах. Написать функцию, которая сортирует записи в описанном выше бинарном файле по одной из следующих характеристик: цена либо... http://www.cyberforum.ru/cpp-beginners/thread397748.html
Способ оптимизации. C++
Здравствуйте. Не могли бы вы мне помочь с задачей по Exel облазил кучу сайтов, толку никакого. 4. Решить задачу оптимизации методом «поиска решения». Из прямоугольного листа железа A x B требуется выкроить цельные детали бочки: днище, крышка, боковая стенка. Определить возможные размера диаметра D и высоты бочки H при условии, что её объем V должен быть максимальным.
Описать класс,реализующий бинарное дерево,Написать прогу, использующую этот класс C++
Помогите с задачкой пожалуйста! Описать класс, реализующий бинарное дерево, обладающее возможностью добавления новых элементов, удаления существующих, поиска элемента по ключу, а также последовательного доступа ко всем элементам. Написать программу, использующую этот класс для представления англо-русского словаря. Программа должна содержать меню, позволяющее осуществить проверку всех методов...
C++ компилятор с++ http://www.cyberforum.ru/cpp-beginners/thread397736.html
подскажите хороший компилятор с++ чтоб можно было создавать приложения с графикой как в делфи???
C++ массив из 15 строк Дан двухмерный массив из 15 строк. Вставить в него строку из нулей после всех строк, номер которых кратен трем. подробнее

Показать сообщение отдельно
Nameless One
Эксперт С++
 Аватар для Nameless One
5754 / 3403 / 255
Регистрация: 08.02.2010
Сообщений: 7,393
03.12.2011, 17:51     Все возможные перестановки букв слова - нужен алгоритм
Цитата Сообщение от Nameless One Посмотреть сообщение
AncinetHero, это уже получается вывести все сочетания по всем наборам элементов
вот без учета порядка элементов:
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 <iostream>
#include <vector>
#include <string>
#include <algorithm>
 
bool next_combination (std::vector<size_t>& a, size_t k)
{
    int n = (int) a.size();
    for (int i=k-1; i>=0; --i)
    {
    if (a[i] < (int) (n-k+i))
    {
        ++a[i];
        for (int j = i + 1; j < (int)k; ++j)
        a[j] = a[j-1] + 1;
        return true;
    }
    }
    
    return false;
}
 
void dump(const std::string& str, const std::vector<size_t>& indices, size_t k)
{
    for(size_t i = 0; i < k; ++i)
    putchar(str[indices[i]]);
    putchar('\n');
}
 
class nat
{
public:
    nat();
    size_t operator () ();
 
private:
    size_t curr;
};
 
nat::nat()
    : curr(0)
{
}
 
size_t nat::operator () ()
{
    return curr++;
}
 
int main()
{
    std::string str = "abc";
 
    size_t size = str.size();
 
    for(size_t i = 1; i <= size; ++i)
    {
    std::vector<size_t> indices(size);
    std::generate(indices.begin(), indices.end(), nat());
 
    do
    {
        dump(str, indices, i);
    }
    while(next_combination(indices, i));
    }
                
    return 0;
}
 
Текущее время: 17:47. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru