bonjour à tous,

je suis en train de développez un programme qui permettra de visualiser l'évolution autonome d'une fourmilière(intelligence par essaim).

voici mon problème :
j'utilise un tableau à 2 dimension
allocation OK
initialisation OK

mais lorsque je le passe en argument, il est impossible d'écrire dans la case [1][1] : erreur de segmentation

voici les extrait du code :
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
 
double **tab_heuristique ;
 
tab_heuristique = malloc(nb_fourmi * sizeof(double *));
	for (i = 1; i <= nb_fourmi; i++)
	{
		tab_heuristique[i] = malloc(taille_tableau * sizeof(double));
	}
 
	for(i=1 ; i<=nb_fourmi ; i++)
	{
		for(j=1 ; j<=8 ; j++)
		{
			tab_heuristique[i][j] = 1 ; printf("%lf ", tab_heuristique[i][j]) ;
		}
		printf("\n"); 
	}
pas de soucis avec cette partie

et

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
void calcul_proba_trajet(Destination tab_trajet[], int cote, Case monde[], Fourmi colonie[], int num_fourmi, double alpha, double beta, double n, double tab_proba[], double **tab_heuristique)
{
	double phero_chemin = 0 ; 
	double phero_voisinage = 0 ;
	double heuristique_total = 0 ;
	int i ;
 
	for(i=1 ; i<=8 ; i++)
	{
		phero_voisinage = phero_voisinage + calcul_pheromone_trajet(cote, monde, colonie, num_fourmi, i, tab_trajet) ;
		printf("%d, %d \n", num_fourmi, i) ;
		heuristique_total = heuristique_total + tab_heuristique[num_fourmi][i] ; //erreur de segmentation a cette ligne
	}
}
après vérification num_fourmi = 1 et i =1

est ce que quelqu'un aurait une petite idée, je suis sure que ce doit etre une erreur tellement grosse que je ne la voie pas.