Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : combinaison [ Archives / Maths & Algorithmes ] (laurent180)

dimanche 22 janvier 2006 à 11:54:25 | combinaison

laurent180

Bjr a tous,

J'ai un petit problème d'algorithme,
J'aimerai crées un prog qui me donne des arrangement
expl si je lui rentre 1,2,3,4,5,6,7
et que la taille d'un groupe est 5 je voudrai qu'il me sorte:
1   2   3   4   5
1   2   3   4   6
1   2   3   4   7
1   2   3   5   6
1   2   3   5   7
1   2   3   6   7
1   2   4   5   6
1   2   4   5   7
1   2   4   6   7
etc
ds cett exple j'ai 21 combinaison
Je c que pour trouver le nbr de combinaison j'utilise: fact(y) / (fact(x) * fact(y-x))
Mais je n'arrive pas a trouvé comment afficher tt les combinaison.
Merci pour votre aide.




dimanche 22 janvier 2006 à 16:17:08 | Re : combinaison

gagah1

Membre Club
for(i=1; i<=7; i++) for(j=i+1; j<=7; j++) for(k = j+1; k<=7; k++) for(l=k+1; l<=7; l++) for(m=l+1; m<=7; m++) printf("%i %i %i %i %i \r\n", i, j, k, l, m);

dimanche 22 janvier 2006 à 21:39:28 | Re : combinaison

laurent180

bjr
merci d'avoir repondu mais mon problème si maintenant je veux les faire par groupe de 6
il me manque 1 for!!!
Comment pourais je résoudre ce problème. Je voudrais que ce nbr soit variable.


Merci Laurent.

lundi 23 janvier 2006 à 13:33:44 | Re : combinaison

gagah1

Membre Club
En utilisant de fonction recursive on pourrait y arriver. Je vais étudier.

lundi 23 janvier 2006 à 14:30:46 | Re : combinaison

gagah1

Membre Club
Voilà. N'abuse pas sur la valeur de n parceque c'est une fonction recursive. Essaie avec de petite valeur, et bonne prog. void Combinaison(int n, int p, int debut, int rang, const char * szBuf) { char szTemp[128]; int rangTemp; if(!szBuf) return; rangTemp = rang + 1; if(rangTemp>=p) printf(szBuf); else { for(int i=debut; i<=n; i++) { sprintf(szTemp, "%s %i", szBuf, i); Combinaison(n, p, debut+1, rangTemp, szTemp); } } } // dans main() { ......... // combinaison de 5 chiffres pris dans 7 chiffres commençant par 1. // ici le rang debute par 0. Combinaison( 7, 5, 1, 0, ""); }

lundi 23 janvier 2006 à 14:37:44 | Re : combinaison

gagah1

Membre Club
Pour que chaque combinaison s'affiche sur une nouvelle ligne, rectifie la fn Combinaison: ...... if(rangTemp>=p) { printf(szBuf); printf("\r\n"); } ......



Cette discussion est classé dans : combinaison, fact


Répondre à ce message

Sujets en rapport avec ce message

combinaison d'entier [ par souaisou ] comment on procede a une combinaison d'un certain nombre d'entiers en C++....aidez moi s'il vous plait!! combinaison d'entier [ par souaisou ] comment on procede aux differentes combinaisons possibles d'un certain nombre d'entiers en C++........Merci d'avance combinaison d'entier [ par souaisou ] je voulais dire comment faire si on veut :a partir d'un ensemble d'entiers ,creer deux sous ensembles comment etablir tous les cas possibles?par exemp Ecriture routine elimination combinaison [ par sandres ] Bonjour Je cherche une routine pour éliminer les combinaisons ( 3 / 4/ 5 numéros ) dans l'ordre et /ou le désordre commune à deux fichiers .1-Il faudr Pb Hotkey [ par Xentor609 ] Salut,Je voudrais utiliser une HotKey pour recuperer les touches pressees.Pour cela pas de probleme, il affiche correctement la touche ou combinaison cosinus [ par anek971 ] Bonjour ,ben avt de demander de l'aide j'ai chercher sur le forum mais ya pas le programme en c.Et en faite c juste pr une verification car mon progra Simuler la combinaison Alt+Entree [ par Snoupy ] Salut tout le monde, je travaille sur une fenêtre type dos et j'aimerais qu'elle se lance automatiquement en mode pleine écran comme lorsqu'on appui s Opérateur de combinaison dans switch... [ par Guidelor ] bonjourcomment faire dans une instruction switch pour voir si la variable testéest egale à 2 valeurs possibles ?genre :switch(int var){case 2 or Combinaison ALT + F4 [ par Buzu ] Bonjour.Voila :1- J'aimerai faire en sorte que la touche * fasse la même chose que la combinaison ALT + F4. J'ai fait un sousclassement de l'EditBox c preobleme de fonction [ par gemini010 ] bonjour ,g commencer a faire un programme me permetant d'enregistrer des client dans un fichier a l'inde d'une fonction et de les consulte en utilisan


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,312 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.