Esempio n. 1
0
double tests_generation_suivante_M(void)
{
	double results = 0;
	
	int i, j;
	int **colonie = colonie_creer(N, M);
	int **colonieAn1 = colonie_creer(N, M);
	int **colonieAn2 = colonie_creer(N, M);
	int B[9] = { 0, 1, 0, 0, 0, 0, 0, 0, 1 }; // 1 ou 8 voisin = vivre !
	int S[9] = { 0 }; // ne jamais survivre
	
	colonie[1][1] = CELLULE_VIVANTE;
	
	generation_suivante_M(colonie, colonieAn1, N, M, B, S);
	for (i = 0; i < N; i++)
	{
		for (j = 0; j < M; j++)
		{
			if (i == 1 && 1 == j)
				results += (colonieAn1[i][j] == CELLULE_MORTE);
			else
				results += (colonieAn1[i][j] == CELLULE_VIVANTE);
		}
	}
	
	generation_suivante_M(colonieAn1, colonieAn2, N, M, B, S);
	for (i = 0; i < N; i++)
	{
		for (j = 0; j < M; j++)
		{
			if (i == 1 && 1 == j)
				results += (colonieAn2[i][j] == CELLULE_VIVANTE);
			else
				results += (colonieAn2[i][j] == CELLULE_MORTE);
		}
	}
	
	colonie_detruire(colonie, N, M);
	colonie_detruire(colonieAn1, N, M);
	colonie_detruire(colonieAn2, N, M);
	
	return results / ((N*M)*2);
}
Esempio n. 2
0
int main(void) {
	int n=0;
	int m=0;
	dimensionnement(&n, &m);
	int **tab=calloc(n, sizeof(int*));
	for(int i=0;i<n;++i) {
		tab[i]=calloc(m, sizeof(int));
	}
	initialisation(tab, n, m);
	int nbgen=nb_generation();
	printf("Vous avez demandé %d générations.\n", nbgen);
	int B[9];
	for(int i=0;i<9;++i) {
		B[i]=0;
	}
	int S[9];
	for(int i=0;i<9;++i) {
		S[i]=0;
	}
	saisie_B_M(B);
	saisie_S_M(S);
	for(int i=0;i<9;++i) {
		printf("%d ", i);
	}
	printf("\n");
	printf("B :\n");
	for(int i=0;i<9;++i) {
		printf("%d ", B[i]);
	}
	printf("\n");
	printf("S :\n");
	for(int i=0;i<9;++i) {
		printf("%d ", S[i]);
	}
	printf("\n");
	printf("génération n°1 :\n");
	affiche(tab, n, m);
	/**/
	int **tab_t=calloc(n, sizeof(int*));
	for(int i=0;i<n;++i) {
		tab_t[i]=calloc(m, sizeof(int));
	}
	_initialisation2(tab_t, n, m);
	/**/
	int **tmp;
	for(int i=2;i<=nbgen;++i) {
		printf("génération n°%d :\n", i);
		generation_suivante_M(tab, tab_t, n, m, B, S);
		tmp=tab;tab=tab_t;tab_t=tmp;
		affiche(tab, n, m);
	}
	return EXIT_SUCCESS;
}
Esempio n. 3
0
void jeu_M(int **tab1, int n, int m, int B[9], int S[9], int ng) {
	printf("génération n°1 :\n");
	affiche(tab1, n, m);
	int **tab_t=calloc(n, sizeof(int*));
	for(int i=0;i<n;++i) {
		tab_t[i]=calloc(m, sizeof(int));
	}
	_initialisation2(tab_t, n, m);
	int **tmp;
	for(int i=2;i<=ng;++i) {
		printf("génération n°%d :\n", i);
		generation_suivante_M(tab1, tab_t, n, m, B, S);
		tmp=tab1;tab1=tab_t;tab_t=tmp;
		affiche(tab1, n, m);
	}
}