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

Генерация всех перестановок n элементного множества - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ метод деления пополам http://www.cyberforum.ru/cpp-beginners/thread170486.html
Люди помогите составить программу алгоритма метода деления пополам рекурсией на C/C++, для проверки использовать любые диапазоны значений. Спасибо за внимание.
C++ Ввод строк Доброго дня. Проблема такая: при вводе нескольких строк программа вылетает #include<iostream> using namespace std; int main() { char s; char s2; cin >> s; сin.get(s,100); //Вот тут начинается перескакивание строк. http://www.cyberforum.ru/cpp-beginners/thread170470.html
C++ Массив состоит из нулей и единиц. Сформировать массив,состоящий из нулей и подсчитать их количество
Массив А состоит из 0-й и 1-ц.сформировать одномерный массив В(К),состоящий из нулей,и подсчитать их количество
C++ Упорядочивание столбцов матрицы и их элементов
Всем привет. Нужно реализовать программу следующего плана: Дана матрица. Упорядочить элементы столбцов матрицы по неубыванию, а сами столбцы по возрастанию минимальных элементов столбцов. Использую быструю сортировку в виде подпрограммы. в общем код получился такой #include <iostream> #include <cstdlib> using namespace std; void sort(int **mas,int x,int y,int col); //функция для...
C++ Параметры функции по умолчанию http://www.cyberforum.ru/cpp-beginners/thread170441.html
Можно ли в качестве параметра по умолчанию указать элимент класса ? Хотелось бы сделать как то так char* SendMessage(char* GET,char* HOST=serverName); bool Download(char* link); void SetServerName(char* _serverName) {
C++ Найти минимум среди сумм модулей элементов диагоналей, параллельных побочной диагонали матрицы Дана целочисленная квадратная матрица. Определить: 1.) сумму элементов в тех столбцах, которые не содержат отрицательных элементов; 2.) минимум среди сумм модулей элементов диагоналей, параллельных побочной диагонали матрицы. P.S. через printf scanf, и чтоб чтоб количество строк и столбцов вводилось с клавиатуры, а заполнялся рандомно помогите плиз:) Дублирование тем запрещено правилами... подробнее

Показать сообщение отдельно
Dexter
285 / 145 / 16
Регистрация: 13.10.2009
Сообщений: 164
29.09.2010, 15:11     Генерация всех перестановок n элементного множества
1) Напечатать все перестановки чисел от 1 до n используя рекурсивный алгоритм
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
int X[100];
int N;
void Swap(int a,int b)
{
    int t=X[a];
    X[a]=X[b];
    X[b]=t;
}
void Generate(int k)
{
    if (k==N)
    {
        for(int i=0;i<N;i++)
            std::cout<<X[i]<<" ";
        std::cout<<"\n";
    }
    else
    { 
        for(int j=k;j<N;j++)
        {
            Swap(k,j);
            Generate(k+1);
            Swap(k,j);
        }
    }
}
 
int main()
{
    std::cout<<"N=";
    std::cin>>N;
    for(int i=0;i<N;i++)
        X[i]=i+1;
    Generate(0);
}
Добавлено через 14 минут
2)Перечислить все последовательности длины к из чисел 1 2 3 ... n
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
int N,K;
int X[100];
void Generate(int k)
{
    if(k==K)
    {
        for(int i=0;i<K;i++)
            std::cout<<X[i]<<" ";
        std::cout<<"\n";
    }
    else
    {
        for(int j=0;j<N;j++)
        {
            X[k]=j+1;
            Generate(k+1);
        }
    }
 
}
int main()
{
    std::cout<<"N=";
    std::cin>>N;
    std::cout<<"K=";
    std::cin>>K;
    Generate(0);
}
 
Текущее время: 18:05. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru