Programme au comportement étrange
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:
1 2 3
|
printf("Voici le tableau correspondant à la regle\n");
affiche_tab(tableau_regle(nregle),8); |
la fonction affiche_tab :
Code:
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:
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:
1 2
| Voici le tableau correspondant à la regle
00000000 |