递归Anagram Calculator C ++

时间:2015-10-01 14:58:40

标签: c++ recursion anagram

我正在尝试创建一个程序,使用给定的单词,可以计算和打印每个字母组合。 更具体地说,我被要求使用递归函数,我应该得到的是这样的:

给出的字:HOME

EHOM

EMOH

MEHO

我正在采取的方法将内容#x与#x + 1交换为

串[0] - >串[1]

串[0] - >字符串[2]

这就是我想出来的

void anagram(char * s, int len, int y)
{
char temp; //used to store the content to swap betwen the two 

if (len < 0) //when the total lenght of the array gets to 0 it means that every single swap has been made
    return;

temp = s[len]; //swapping
s[len] = s[y];
s[y] = temp;

puts(s); //prints the string

if (y == 0)                     
    return anagram(s, len-1, y - 1);

return anagram(s, len, y - 1);

}

我得到的只是一个巨大的混乱和VS的断点(如果不是崩溃)。

有人可以帮帮我吗?

0 个答案:

没有答案