Bonjour a tous :-)
je dis pour les experts car cela ne me semble pas evident .
voila le probleme a resoudre ,je souhaiterais generer toutes combinaisons de N parmi K ( en realité N varie de 25 a 90 et K de 4 a 25 et il est la mon probleme)
prenon l'exemple du loto que vous connaissez bien le programme pour generer les combis est tres simplesous devcpp)
maintenant comme mes valeurs contrairement au loto varie je suis obliger de changer le code a chaque fois ,de plus si k = 20 par exemple cela m'oblige a creer 20 boucles imbriquées alors voici ma question :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34 #include<stdio.h> #include <stdlib.h> #include <dos.h> #include <time.h> main() { int zz=0,a=0,i=0,j=0,k=0,l=0,m=0,n=0,tc[6],touche=0; int nt=0; printf("entrez votre valeur "); scanf("%d",&nt); a=nt-5; for(i=1;i<=a;i++) for(j=i+1;j<=a+1;j++) for(k=j+1;k<=a+2;k++) for(l=k+1;l<=a+3;l++) for(m=l+1;m<=a+4;m++) for(n=m+1;n<=a+5;n++) { tc[0]=i;tc[1]=j;tc[2]=k;tc[3]=l;tc[4]=m;tc[5]=n; printf("%d %d %d %d %d %d \n",tc[0],tc[1],tc[2],tc[3],tc[4],tc[5]); zz++; } printf("nombre de combinaisons %d ",zz); scanf("%d",&touche); getchar(); }
je sais qu'il est possible d'eviter toutes ses boucles en creant ce qu'on appelle une boucle dynamique donc en theorie avec une seule boucle il est possible de sortir toutes les combinaisons de N parmi K ( ou l'inverse je ne me souviens plus de la formulation mais bon vous aurez compris ;-) )
supposons que je veuille sortir toutes les combinaisons de 15 chiffres parmi 70 cela m'oblige a creer 15 boucles bref et a chaque fois je doit allez dans mon programme pour changer les valeurs bref pas evident ( en tous cas pour moi ;-) )
pouvez vous m'aider ?
cordialement
Partager