sp4cezolk
Messages postés8Date d'inscriptionmardi 11 mai 2004StatutMembreDernière intervention27 mai 2004
-
13 mai 2004 à 01:54
peterklm
Messages postés15Date d'inscriptiondimanche 22 décembre 2002StatutMembreDernière intervention 5 décembre 2005
-
5 déc. 2005 à 22:10
Salut tout le monde je suis en train de chercher un algo qui me permettrait d'afficher toutes les combinaisons de chiffres possibles pour un chiffre passé en paramètre.
Je m'explique. Par exemple, pour combi(3) , ca donnerait :
1 2 3
1 3 2
2 1 3
2 3 1
3 1 2
3 2 1
Mon but ultime c'est que ca fonctionne pour
combi(10)
Voila Voila. Merci d'avance à tous pour vos réponses.
ymca2003
Messages postés2070Date d'inscriptionmardi 22 avril 2003StatutMembreDernière intervention 3 juillet 20067 13 mai 2004 à 11:36
une piste parmis d'autres :
une fonction récursive qui prend en paramètres 2 tableaux et leurs taille respective (tab1, size1) et (tab2, size2)
tab1 sera les nombres déjà placé de la permuttation actuelle et tab2 les nombres restants à placer.
- récurrence :
pour chaque élément de tab2, construire 2 nouveaux tableaux :
tab11 : concaténation de tab1 et tab2[i] => taille size1+1.
tab22 : tous les éléments de tab2 sauf tab2[i] => taille size2-1.
appelée la fonction récursive avec ces nouveaux tableaux.
- lorsque la fonction est appelée avec size2=0, c'est fini, il suffit d'afficher tab1.
le début commence par :
tab = {1,2,3,4};
Perm(NULL, 0, tab, 4);
il sufiit de faire attention aux cas ou les tableaux passés sont nuls (taille=0, au début et à la fin de la récursion) pour construire les nouveaux tableaux.
peterklm
Messages postés15Date d'inscriptiondimanche 22 décembre 2002StatutMembreDernière intervention 5 décembre 2005 5 déc. 2005 à 22:10
salut,
je suis tres interessé par la marche à suivre sur l'algo qui permet d'afficher toutes les combinaisons possibles, selon les nombres voulus. Compte tenu que je suis debutant dans la matière. Aurais tu le temps et le desir bien sûr, de nous faire un court programme qui realise cette tache, cela profitera à pas mal des gens comme moi.
En te remerciant bcp à l'avance.