Bonjour, j'écris un programme sur le jeu de la vie en deux dimensions, mais j'ai un problème. Le code fonctionnait bien, et maintenant, il ne marche pus, c'est à dire que dans mon scripte je fais une transcription entier - > tableau de bits et j'obtiens toujours 00000000 alors qu'avant j'obtenais la bonne représentation. je vous donne les appels et le corps de la fonction :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 
printf("Voici le tableau correspondant à la regle\n");
affiche_tab(tableau_regle(nregle),8);
la fonction affiche_tab :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
 
void affiche_tab(short * tab, short nbr_elem)
{
   short i=0;
   while(i<nbr_elem)
   {
      printf("%d",tab[i]);
      i++;
   }
   printf("\n");
}
la fonction tableau_regle :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
 
short * tableau_regle(short numRegle)
{
   short i=0;
   short m=1;
   short * regle = NULL;
   regle = malloc( 8 * sizeof(short));
   m = m << 7;
   while(i<8)
   {
      if( m & numRegle )
      {
         regle[i]=1;
      }
      else
      {
         regle[i]=0;
      }
      m = m >> 1;
      i++;
   }
   return regle;
}
Le retour :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
Voici le tableau correspondant à la regle
00000000