Nombres de boucles inconnues

cs_LILIPA Messages postés 2 Date d'inscription mardi 27 mai 2008 Statut Membre Dernière intervention 27 mai 2008 - 27 mai 2008 à 14:28
cs_LILIPA Messages postés 2 Date d'inscription mardi 27 mai 2008 Statut Membre Dernière intervention 27 mai 2008 - 27 mai 2008 à 15:38
Bonjour,

Comment faire lorsque l'on veut faire n boucles, je m'explique :

Par exemple, pour 3 boucles c'est facile :
pour i=1..imax
   pour j=1..jmax
      pour k=1..kmax
         faire Cijk = i+j+k
      fin pour
   fin pour
fin pour

Mais voilà moi en paramètre, j'ai le nombre de dimensions (n) :

pour v0=1..v0max
   pour v1=1..v1max
      ...
         pour vn=1..vnmax
            faire C01..n = v0+v1+..+vn
         fin pour
      ...
   fin pour
fin pour

Vous avez une solution ?
Merci

3 réponses

cs_juju12 Messages postés 966 Date d'inscription samedi 3 avril 2004 Statut Membre Dernière intervention 4 mars 2010 4
27 mai 2008 à 15:02
ceci derait te convenir, moyennant adaptation :

#include

<stdio.h>void

LoopN(
int n,
int *vmax)
{

int v[255];

for(
int i=0;i<n;i++) v[i]=0;
n=n-1;

do
{

// ton code
printf(
"OK\n");

// fin de ton code
v[n]++;

for(
int i=n;i>0;i--)
{

if(v[i]>vmax[i])
{
v[i-1]++;
v[i]=0;
}
}
}
while(v[0]<=vmax[0]);

return;
}
int

main(
void)
{

int vmax[]={1,2,1};
LoopN(3,vmax);

return 0x0;
}
0
cs_juju12 Messages postés 966 Date d'inscription samedi 3 avril 2004 Statut Membre Dernière intervention 4 mars 2010 4
27 mai 2008 à 15:04
enfin là ça compte à partir de 0
0
cs_LILIPA Messages postés 2 Date d'inscription mardi 27 mai 2008 Statut Membre Dernière intervention 27 mai 2008
27 mai 2008 à 15:38
Super, c'est ce que je voulais.
Merci
0
Rejoignez-nous