Вопрос : Пермутирование C++ с алгоритмом замены

Я ищу алгоритм произведет, в любом заказе, все пермутирования деталей «n» выбранных от деталей «m» С ЗАМЕНОЙ (т.е. m выбирает n с заменой).  Будет пермутирования m^n в total.

so всех (3^2 = 9) пермутирования 2 деталей с заменой от 3 деталей «a», «b», «c» является следующим: вопрос

aa
ab
ba
bb
cc
ac
ca
bc
cb

This был адресован без замены в: href= " http://www.experts-exchange.com/Programming/Languages/CPP/Q_10291490.html "

потребность ramming/Languages/CPP/Q_10291490.html

I e.com/Prog http://www.experts-exchang оно с replacement.
class=

Ответ : Пермутирование C++ с алгоритмом замены

Здесь алгоритм для пермутирований с заменой. Я доработал Кодего от:
       http://en.wikipedia.org/wiki/Itoa

Это кипит вниз к проблеме корень. Если вы имеете комплект {a, b, c, d, e} и 3 шлица, то вы имеете номера корень 5^3: aaa, aab, aac, aad, aae, aba,…. Получить все по возможности уникально исходы, вы сможете иметь a + оператор так, что a+1 --> b

e+1 --> a с носить так как, например:
abe + 1 --> aca


Выход является следующим:
Номер элемента # корень
    1 00
    2 10
    3 20
    4 01
    5 11
    6 21
    7 02
    8 12
    9 22
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:
#include  
#include  
#include  

const int N_ITEMS = 8;
const int M_SLOTS = 3;
nPerms int const неподписанные = int (  pow (поплавок (N_ITEMS), поплавок (M_SLOTS)) );

 пустое intToRadix (неподписанный int n, чарс * str, основание int)
 {
     int i=0;
     memset (str, «0», M_SLOTS);
     str [M_SLOTS] = «\ 0»;
     сделайте {
         str [i++] = % основания n + «0»;
     } пока ((основание n/=) > 0);
 }

основа int ()
{
   strPerm чарса [M_SLOTS+1];
   printf («номер элемента    # корень \ n»);
   для (неподписанное permNum int = 0; permNum  < nPerms="">
           
Другие решения  
  •  Как я добавляю кнопки на форме PDF для того чтобы добавить/извлекаю рядки данных?
  •  Шнур ошибки в блоке задвижки?
  •  сколько вариант сервера SQL на одной машине
  •  Внешний вид 2007 не может архивный файл открытой сети сохраненный
  •  Активно директория DNS записывает вопрос
  •  Отчет о доступа 2010 экспорта к CSV с коллекторами?
  •  Прокладчик OCE 9400 не начинает
  •  как добавить десятичное место в формуле в отчете о кристалла seagate
  •  Windows XP и Мичрософт Оутлоок и проблемы установителя Windows
  •  VB6 к VS2010 - консультации тренировки?
  •  
    programming4us programming4us