[C] game of life/ generation suivante ...

Résolu/Fermé
strato-boy Messages postés 769 Date d'inscription mercredi 11 février 2009 Statut Membre Dernière intervention 19 janvier 2011 - 29 nov. 2010 à 19:48
strato-boy Messages postés 769 Date d'inscription mercredi 11 février 2009 Statut Membre Dernière intervention 19 janvier 2011 - 30 nov. 2010 à 06:38
Bonjour, deja desolé pour le titre un peu ambigüe mais je voyé pas comment l'appelé autrement !

pour faire simple, pour un TP d'algo je dois implémenté le "jeu de la vie" en C,

tout ce passe bien a une fonction près, et pas des moindre : le passage a la génération suivante :

imaginons, mon "damier" fait 3×3 cases, où les cellule sont représenté par des "1"exemple :
1 0 1
0 1 0
1 0 1

le probleme est que j'ai l'impression que ma fonction ayant pour but de definir la generation suivante ne traite que la premiere ligne ... et rempli le reste a grand coup de vide !
pour la configuration precedente, voici la generation suivante ...
0 1 0
0 0 0
0 0 0

voila, a coté de ça le code de la fonction, que j'ai beau retourné dans tout les sens, je vois pas de soucis ...
/* production de la generation suivante
 * argument : 
 * - **tab : la matrice de depart
 * - l : le nombre de ligne
 * - c : le nombre de colonne
 * - nexttab : matrice que contiendra la prochain generation */

void nextgen(int **tab, int l, int c, int **nexttab)
{
	int zin = 0; //variable contenant le nbre de voisin
	int i=0, j=0; 
	while(i<c)
	{
		while(j<l)
		{
			zin = voisin(tab, l, c, i, j); // on compte le nombre de voisin de chaque case
			if(((zin == 2) || (zin == 3)) && (tab[i][j] == 1))
			{
				nexttab[i][j] = 1;
			}
			else if((zin < 2) || (zin > 3))
			{
				nexttab[i][j] = 0;
			}
			else if((zin == 3) && (tab[i][j] == 0))
			{
				nexttab[i][j] = 1;
			}
			j++;
		}
		i++;
	}
}

voila, j'espere que vous pourrez me filer un petit coup de pouce ;-)


A voir également:

1 réponse

strato-boy Messages postés 769 Date d'inscription mercredi 11 février 2009 Statut Membre Dernière intervention 19 janvier 2011 100
30 nov. 2010 à 06:38
resolu ! sufissé de réinitialisé j, merci a lemulot !

http://forum.korben.info/topic/4029-c-jeu-de-la-vie-resolu/
0