begin process at 2010 03 22 13:22:08
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Maths & Algorithmes

 > 

combinaison


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

combinaison

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ée 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...

Comparez les prix

CalendriCode

Mars 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

 
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

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,920 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales