CALCULER LES COMBINAISONS POSSIBLES D'UNE SÉQUENCE

cs_Xs Messages postés 368 Date d'inscription mercredi 14 novembre 2001 Statut Membre Dernière intervention 1 septembre 2008 - 18 août 2004 à 17:16
Virlorigie Messages postés 9 Date d'inscription dimanche 20 mai 2007 Statut Membre Dernière intervention 10 juillet 2010 - 25 mars 2009 à 16:28
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/25499-calculer-les-combinaisons-possibles-d-une-sequence

Virlorigie Messages postés 9 Date d'inscription dimanche 20 mai 2007 Statut Membre Dernière intervention 10 juillet 2010
25 mars 2009 à 16:28
Bonjour,

Désolée du dérangement, j'ai trouvé mon erreur, je ne lançais pas le programme correctement, ça marche très bien.

Mes petites remarques en tant qu'utilisatrice et débutante en programmation :
- C'est dommage que les chiffres sont imposés de 1 à 4 et qu'on ne puisse pas saisir les chiffres puis demander toutes les combinaisons de ce qu'on a choisi. Bien entendu, j'ai testé en changeant dans le code même les chiffres 1, 2, 3 et 4 par d'autres pour voir et ça marche très bien.
- Dans ta description tu nous mets ceci :
"Ce code permet à partir d'une séquence de chiffres ou de lettres de donner tt les combinaisons possibles qu'on peut faire avec"
Cependant, cela ne semble concerner que les chiffres et de façon imposée puisqu'à aucun moment le programme me demande de saisir quoi que ce soit, il me donne directement la combinaison de ce qui est contenu dans le programme.
A moins d'une erreur de mon côté ?

Bravo en tout cas pour ce bout de code.

PS : je t'ai mis 8/10 tout de même. Bien que y'aurai des petites choses à améliorer me semble-t-il. ;)
Virlorigie Messages postés 9 Date d'inscription dimanche 20 mai 2007 Statut Membre Dernière intervention 10 juillet 2010
25 mars 2009 à 02:22
Bonjour,
Votre code me semble intéressant me concernant ça pourrait m'être utile. J'ai réussi à le compiler avec Borland C++ Compiler 5.5 sans problème après modification selon les recommandations de Blackgoddess.
Cependant, quand je veux lancer mon .exe il ne se lance pas...

Auriez-vous une suggestion à me proposer ?

Merci beaucoup par avance. Et bravo pour votre code !
Utilisateur anonyme
24 déc. 2008 à 17:58
bonjour,
j'ai pas compris cette partie du programme :
combin(tab,i+1,size_tab); permute(tab,i,j);
je veux dire apres avoir terminer la partie combin on reviens à permute surtout que quand on enleve cette partie il y a repetion

merci de votre aide
kritical Messages postés 9 Date d'inscription lundi 24 octobre 2005 Statut Membre Dernière intervention 3 décembre 2005
1 déc. 2005 à 21:56
void combin(unsigned char tab[],int i, int size_tab)
{
unsigned char j;

if (i==size_tab)
{
print_tab(tab,size_tab);
}
else
for(j=i;j<size_tab;j++)
{
permute(tab,i,j);
combin(tab,i+1,size_tab);
permute(tab,i,j);
}
g pas comris la recusrsivité de cette foction
qq peut m'expliquer car g un petit probleme avec les fonctions
recursifs
Strick9 Messages postés 40 Date d'inscription mardi 8 novembre 2005 Statut Membre Dernière intervention 9 mai 2007
9 nov. 2005 à 19:34
pouvez vous transformer ce code source ainsi il sera possible d'effectuer des combinaison de n éléments

main()
{
unsigned char tab[]={1,2,3,4};

combin(tab,0,4);
}
au lieu de 4 éléments seulements. Merci d'avance.
BlackGoddess Messages postés 338 Date d'inscription jeudi 22 août 2002 Statut Membre Dernière intervention 14 juin 2005
20 août 2004 à 10:53
main()
{
...
}

=>

int main()
{
...
return 0;
}
pinderlot Messages postés 59 Date d'inscription jeudi 1 juillet 2004 Statut Membre Dernière intervention 1 septembre 2004 1
19 août 2004 à 16:53
lol.

"rien ne sert d'écouter, il faut capter..." pour parodier une certaine fable.
cs_Xs Messages postés 368 Date d'inscription mercredi 14 novembre 2001 Statut Membre Dernière intervention 1 septembre 2008
19 août 2004 à 15:58
Rholalal c'est bien ce qui me semblait : stats, probas, dénombrement, etc... j'ai vraiment rien capté :D (bon j'ai ptête pas tout écouté non plus c'est vrai :D)

merci.
zinou76 Messages postés 5 Date d'inscription vendredi 9 mai 2003 Statut Membre Dernière intervention 19 août 2004
19 août 2004 à 15:45
Oui c exactement ça. Pour un ensemble de n, on a n! combinaisons possible
pinderlot Messages postés 59 Date d'inscription jeudi 1 juillet 2004 Statut Membre Dernière intervention 1 septembre 2004 1
19 août 2004 à 13:19
Euh... bin non ce n'est pas 2^5. c plutôt 5! (factorielle 5). donc pour n=5 ca fait 24.

Dans un ensemble de n éléments, il y a n! combinaisons.
cs_Xs Messages postés 368 Date d'inscription mercredi 14 novembre 2001 Statut Membre Dernière intervention 1 septembre 2008
18 août 2004 à 17:16
Si je ne m'abuse pas, c'est tout simplement le nombre de parties de ton ensemble :

Si ton ensemble contient 5 "scalaires" (une chaine de caracteres peut etre considérée comme un scalaire, ici seulement hein), tu auras alors 2^5

Plus généralement, dans un ensemble U de n élements, tu as 2^(card U) = 2^n

Rectifiez moi si je me trompe.
Rejoignez-nous