CONSTRUCTION D'ANAGRAMMES

pumbaa666 Messages postés 24 Date d'inscription jeudi 12 juin 2003 Statut Membre Dernière intervention 19 janvier 2010 - 19 déc. 2007 à 16:15
renstef Messages postés 1 Date d'inscription vendredi 25 janvier 2008 Statut Membre Dernière intervention 26 mars 2010 - 26 mars 2010 à 00:08
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/43890-construction-d-anagrammes

renstef Messages postés 1 Date d'inscription vendredi 25 janvier 2008 Statut Membre Dernière intervention 26 mars 2010
26 mars 2010 à 00:08
Elle m'a inspiré pour un algo génétique. merci
pch_hotline Messages postés 4 Date d'inscription mardi 4 avril 2006 Statut Membre Dernière intervention 3 novembre 2008
3 nov. 2008 à 10:27
le code marche parfaitement bien psyckan si on prend denombra le nombre de solution c 8! ce qui donne exactement 40320 solutions mais dans le second cas que tu enumeres on a 2 o dans le mot donc les cas ou la permutation occure entre ces deux lettres quand elles sont proches doivent etre omises donc le nombres de compositions sera moindre on aura 6!*7*2*2 ce qui donne exactement 22160. Ce n'est que du denombrement j'espere que ca va. Bye et merci
pumbaa666 Messages postés 24 Date d'inscription jeudi 12 juin 2003 Statut Membre Dernière intervention 19 janvier 2010
3 nov. 2008 à 08:47
@Psyckan : Pour le 1er problème, je ne sais pas, c'est étrange. Tu es sûr d'avoir un buffer de sortie assez grand pour afficher les 40'000 solutions ?

Pour la 2ème question, c'est car tu as 2x la lettre 'o' et tu n'as plus le 'e', ça réduit de moitié les possibilités (permuter les 2 'o' ne changera pas un mot)
psyckan Messages postés 135 Date d'inscription vendredi 27 août 2004 Statut Membre Dernière intervention 8 mai 2010
2 nov. 2008 à 01:46
Merci pour cette source, mais j'y ai trouvé un petit soucis.
En effet, j'ai copié le code et compilé et ça m'a permis de trouver quelque anagrammes. J'ai alors essayé de trouver la solution pour le mot "denombra" et ne me donne 40320 solutions mais qui commencent seulement par les lettres R et A et ne me trouve pas la solution qui est "doberman". J'ai ensuite remarque que si, au lieu de "denombra", on rentre "donombra" le programme trouve 20160 solutions alors que les deux mots ont le même nombres de lettres. Je voudrais donc savoir d'où vien le problème.
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
7 juin 2008 à 19:49
Stellartois -> il n'y a pas de zip joint, le code est à copier dans ton IDE (eclipse sans doute)
++
Stellartois Messages postés 1 Date d'inscription samedi 7 juin 2008 Statut Membre Dernière intervention 7 juin 2008
7 juin 2008 à 18:25
Comment télécharger le programme? =s
pumbaa666 Messages postés 24 Date d'inscription jeudi 12 juin 2003 Statut Membre Dernière intervention 19 janvier 2010
19 déc. 2007 à 16:15
Salut. Très bonne source, bien qu'aucunement commentée.
J'ai mis 9 car devoir créer une ArrayList pour faire un mot, c'est pas terrible. Mais j'ai codé une solution :

private static ArrayList<String> makeList(String string)
{
ArrayList<String> result = new ArrayList<String>(string.length());
char[] tab = string.toCharArray();

for(int i = 0; i < tab.length; i++)
result.add(""+tab[i]);

return result;
}

public static ArrayList<String> generer(String input)
{
ArrayList<String> listedInput = makeList(input);//new ArrayList<String>(input.length());
return generer(listedInput);
}

Ensuite tu met ton autre méthode generer en private, et tu appele comme ça :
pan = Anagramme.generer("essai");
Rejoignez-nous