Exo 2005 : Alphabet et mors

Alors la c'est incomprehensible, voici mon code :

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
int     mots_valides(char *alphabet, char **mots, int nbmots)
{
 int i=0,j=0,l=0,n=0,t=0;
 for (i=0;i {
  n++;
  for (j=0;j  {
   t = 0;
   if (mots[i][j] == '\0')
    break;
   for(l=0;l   {
    if (mots[i][j] == alphabet[l])
    {
      t = 1;
      break;
    }
   } 
   if (t == 0)
   { n--;
    break;}
  }
 } 
 return n;
}

avec mes test mon codes marches tres bien , et quand je soumet , au moins un des tests est faux , le resultat obtenu vaut le resultat attendu + 1, mais le plus bizarre c'est que a chaque fois c'est a un test different (il y en a 4 en tout)

A chaque soumission (sans rien changer au code), c'est un test different qui foire avec la même cause : le resultat + 1 ...

Une explication ?
Sinon etant donnée que j'ai fini les 5 autres exo de ce niveau, est-ce possible de me debloquer le niveau suivant ?

L'explication, c'est probablement un effet de bord dans ton code : tu modifies probablement une zone de la mémoire à laquelle tu ne devrais pas accéder (typiquement, un dépassement de bornes dans un tableau) et ça fait des résultats incompréhensibles par la suite (dépendant du contexte d'exécution).

Essaie de déboguer ton code dans un outil comme valgrind qui devrait te signaler ce genre d'erreurs.

Euh maintenant le dernier test , appelé "sample 1" marche pas : il me dit que la sortie attendu est (vide) lol
Possible de me debloquer le niveau suivant please \^\^

Je ne peux pas débloquer les gens ; mais je ne comprends pas ton problème, la sortie attendue pour sample1 est 6. (C'est l'exemple qui est affiché sur la page du problème).

Répondre au sujet

Vous devez vous enregistrer ou vous connecter pour poster des messages.