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

Алгоритм для генерации перестановок - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Определить номера строки и столбца максимального элемента прямоугольной матрицы http://www.cyberforum.ru/cpp-beginners/thread744492.html
3.Определить номера строки и столбца максимального элемента прямоугольной матрицы A(n,m). Поменять местами первый и максимальный элементы матрицы. Подсчитать количество нулевых элементов матрицы и напечатать их индексы. Добавлено через 3 часа 22 минуты еще если можно, то через рандом, заранее спасибо)
C++ Вычислить среднее арифметическое элементов массива 2.Вычислить среднее арифметическое элементов массива X=(x1,x2,…,xn), расположенных между его минимальным и максимальным значениями. Если минимальный элемент размещается в массиве раньше максимального, то упорядочить массив на данном промежутке по возрастанию его элементов, и наоборот, если минимальный элемент размещается после максимального, то упорядочить по... http://www.cyberforum.ru/cpp-beginners/thread744491.html
C++ Развязание задачи торгового агента по методу Йоу, Даниэльсона и Дхавана
Доброго дня. Собсно студент. Собсно сессия и собсно времени маловато осталось. Ага, ленивец. 2-я задача. Развязание задачи торгового агента ( не больше 7 городов) по методу Йоу, Даниэльсона и Дхавана. О методах ничего не слышно ни в методах ни в гугле.
Блочная сортировка для трех разных массивов чисел C++
Написать функцию блочной сортировки для трех разных массивов вещественных чисел из интервала от 0 до 1. Размерность массивов 100, 1000, 10000.
C++ написать программу которая обнуляет каждую парную двоичную http://www.cyberforum.ru/cpp-beginners/thread744478.html
написать программу которая обнуляет каждую парную двоичную единицу в коде размещенном в переменной типа int. Добавлено через 7 часов 22 минуты никто не поможет?
C++ Из строки распечатать только те слова, которые начинаются и оканчиваются одной и тоже буквой Здравствуйте, помогите пожалуйста с реализацией программы. Из заданной текстовой строки распечатать только те слова, которые начинаются и оканчиваются одной и тоже буквой, используя функции strtok, strlen. Заранее благодарю за помощь. подробнее

Показать сообщение отдельно
TommyG
1 / 1 / 0
Регистрация: 11.12.2010
Сообщений: 48

Алгоритм для генерации перестановок - C++

24.12.2012, 16:41. Просмотров 583. Ответов 0
Метки (Все метки)

Ребята, привет, мне предстоит завтра защищать лабу и собственно вот задание:
Вторая задача:
Алгоритм для генерации перестановок

Код
#include <iostream>
#include "conio.h"
#include <cstdlib> 
using namespace std;
 
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;
	cin.get();
    Generate(0);
	cin.get();
}
Собственно я знаю что тут использован только рекурсивный алгоритм? А можете на пальцах объяснить как он действует? и также каждую строчку пожалуйста очень прошу...
Спасибо всем кто откликнется!!!

Добавлено через 2 часа 34 минуты
Добрые люди, помогите!
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru