Boucle for en C

Résolu/Fermé
limbergh Messages postés 658 Date d'inscription dimanche 8 juillet 2007 Statut Membre Dernière intervention 29 juin 2010 - 11 nov. 2008 à 22:28
limbergh Messages postés 658 Date d'inscription dimanche 8 juillet 2007 Statut Membre Dernière intervention 29 juin 2010 - 11 nov. 2008 à 22:51
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 dimanche 3 octobre 2004 Statut Membre Dernière intervention 2 juillet 2009 51
11 nov. 2008 à 22:34
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 dimanche 8 juillet 2007 Statut Membre Dernière intervention 29 juin 2010 140
11 nov. 2008 à 22:51
Salut,

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