Я пытаюсь найти все возможные анаграммы строки и сохранить их в массиве, используя только рекурсию.
Я застрял, и это все, что у меня есть.
int main()
{
const int MAX = 10;
string a = "ABCD";
string arr[10];
permute(arr, a, 0, a.size(), 0);
return 0;
}
void permute(string arr[], string wrd, int firstLetter, int lastLetter, int it)
{
if (firstLetter == lastLetter)
*arr = wrd;
else
{
swap(wrd[firstLetter], wrd[it]);
permute(arr, wrd, firstLetter + 1, lastLetter, it++);
}
}
Порядок не имеет значения. Пример: строка «abc»; массив должен иметь: abc, acb, bca, bac, cab, cba
Изменить: я пытаюсь найти все перестановки слова и вставить их в массив без использования циклов.
string arr[10]
приведет к ужасным результатам. - person Sam Varshavchik   schedule 03.12.2017