Boucle for en C

Résolu
limbergh Messages postés 669 Statut Membre -  
limbergh Messages postés 669 Statut Membre -
Bonsoir,

j'ai une fonction qui utilise deux nombre, un pour vérifier si celui-ci se trouve bien dans dans un tableau (n) et un deuxième dont je me sert pour une formule (r).

chaque fois que je rentre dans cette fonction j'ai un segmentation fault. J'ai mis des messages de vérifications et tout va bien jusqu'au moment ou je rentre dans ma première boucle for le "essai boucle s'inscrit à l'écran plusierus fois alors que je demande de vérifier sur 3 indices si mon nombre si trouve...

Si quelqu'un a une idée, je suis preneur...

Voici ma fonction :

int CheckCar (int n, int r)
{
    int i, j;
    int C, L;
    C=(r%3)*3;
    L=(r/3)*3;
    printf(" C vaut %d et L vaut %d\n", C, L);

    if (C==0 && L==0)
        i=0;
    if (C==0 && L==3)
        i=27;
    if (C==0 && L==6)
        i=54;
    if (C==3 && L==0)
        i=3;
    if (C==3 && L==3)
        i=30;
    if (C==3 && L==6)
        i=57;
    if (C==6 && L==0)
        i=6;
    if (C==6 && L==3)
        i=33;
    if (C==6 && L==6)
        i=60;
printf("essai i vaut %d\n", i);
    for (j=i; j<=j+2; j++)
    {   printf("essai boucle\n");
        if (TT[j]==n)
        return 0;
    }
    j+=7;
    for (i=j; i<=i+2; i++)
    {
        if (TT[i]==n)
        return 0;
    }
    i+=7;
    for (j=i; j<=j+2; j++)
    {
        if (TT[j]==n)
        return 0;
    }
    return 1;
}


Merci d'avance
A voir également:

2 réponses

williom Messages postés 234 Statut Membre 51
 
bonsoir,

ton "j" est incrémenté à chaque itération de ta boucle, donc il est toujours <=j+2, enfin il me semble...
et c'est le cas pour les 3 boucles for
0
limbergh Messages postés 669 Statut Membre 140
 
Salut,

merci, effectivement c'était ça...
0