Permutaciones en C Shrap
Tengo que escribir un programa que tiene que generar todas las palabras posibles de un conjunto determinado de letras.
Teniendo en cuenta la palabra "abc", el programa debe - mediante la exploración de todas las diferentes permutaciones de las tres letras - Salida de las palabras "abc", "acb", "bac", "bca", "cab" y "cba". Algunas letras pueden aparecer más de una vez.
Por una palabra dada, el programa no debería producir la misma palabra más de una vez, y las palabras deben ser la salida en orden alfabético ascendente.
Es decir si yo ingreso la cadena "abc" el resultado tiene que ser:
abc
acb
bac
bca
cab
cba
Si ingreso "acaba" el resultado tiene que ser:
aabc
aacb
abac
abca
acab
acba
baac
baca
bcaa
caab
caba
cbaa
He intentado de varias formas pero no he podido...