Bonjour,
j'ai un segmentation fault sur l'execution d'un programme.
Le probleme vient d'une fonction ayant un tableau en parametre. Lorsque
je veux acceder au tableau j'ai segmentation fault alors que le
programme compile
voici le programme:
bool bellmanFord(int origine, int nbNoeuds, float **distance, int borneRoutage)
{
int i,u,v,h;
float mini;
float d[nbNoeuds];
int pi[nbNoeuds];
float B[nbNoeuds][borneRoutage];
ARETE a;
vector<ARETE>::const_iterator itr = aretes.begin();
vector<ARETE>::const_iterator fin = aretes.end();
/*methode
nouvelle*/
/*for(u=0;u<nbNoeuds;u++)
for(h=0;h<nbNoeuds;h++)
if(u==borneRoutage)
B[u][h] =
FLT_MAX;
else
B[u][h] = 0;
for(h=0;h<borneRoutage;h++)
{
for(u=0;u<nbNoeuds;u++)
B[u][h] = B[u][h-1];
itr = aretes.begin();
while(itr!=fin)
{
a = *itr;
if(B[a.origine][h-1]<distance[a.origine][a.destination])
mini =
B[a.origine][h-1];
else
mini =
distance[a.origine][a.destination];
if( mini > B[a.destination][h])
B[a.destination][h] = mini;
itr ++;
}
}*/
/*methode
bouquin*/
/*Initialisation*/
for(i=0;i<nbNoeuds;i++)
{
d[i] = INT_MAX;
pi[i] = nbNoeuds + 1;
}
d[origine] = 0;
cout << distance[0][0]; //Probleme!!!
return true;
};
Appelle de la fonction:
g.bellmanFord( 0 , 5 , (float **)&distance,borneRoutage);
Merci de votre aide. je suis sur ce probleme depuis ce matin...