Boucle for en C

Résolu
limbergh Messages postés 658 Date d'inscription   Statut Membre Dernière intervention   -  
limbergh Messages postés 658 Date d'inscription   Statut Membre Dernière intervention   -
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 230 Date d'inscription   Statut Membre Dernière intervention   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 658 Date d'inscription   Statut Membre Dernière intervention   140
 
Salut,

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