begin process at 2012 05 30 19:42:23
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C

 > 

Divers

 > 

Débutant(e)

 > 

voyageur de commerce : recusivité


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

voyageur de commerce : recusivité

jeudi 24 février 2011 à 12:30:58 | voyageur de commerce : recusivité

ianov

je voudrais implémenter une méthode récursive du voyageur de commerce. En effet, je ne voudrais pas explorer tous les circuits possibles mais seulement le circuit dont la distance est inférieure ou au pire égale à la distance passée en paramètre. J'ai essayé donc d'écrire le code suivant. Pourriez vous m'aider à trouver les erreurs ?




static void
explore_aux(matrice_distance m, bool *visite, int *chemin,int *cheminIdeal, int position, int ville, double borneInf,double distanceCourant){
int i;
/* chemin[ville] = position; */
if (position == NBRE_VILLE){
afficher_methode(cheminIdeal,NBRE_VILLE);
return ;
}
if (distanceCourant < borneInf){
chemin[ville] = position;
visite[position] = true;
for(i=0; i< NBRE_VILLE; i++){
if (m[position][i] == 0 || visite[i])
continue;
distanceCourant += m[position][i]; /* distance des sommets deja parcourus*/
explore_aux(m,visite,chemin,cheminIdeal,i,ville+1,borneInf,distanceCourant);
visite[position] = false;
}
}
else{
distanceCourant += m[position][0];
if (distanceCourant < borneInf){
borneInf = distanceCourant;
for(int i=0; i<NBRE_VILLE; i++)
cheminIdeal[i] = chemin[i];
}
}
}



void explore(matrice_distance m, bool *visite){
for(int i=0; i<NBRE_VILLE; i++)
visite[i] = false;
double distanceMax = distanceMethodeInsertion(m,visite);
memset(visite,0,sizeof(visite));
int *chemin = creerChemin(NBRE_VILLE);
int *cheminIdeal = creerChemin(NBRE_VILLE);
explore_aux(m,visite,chemin,cheminIdeal,0,0,distanceMax,0);
}

Merci de votre aide !!


Cette discussion est classée dans : int, position, chemin, ville, visite


Répondre à ce message

Sujets en rapport avec ce message

demande de correction de programme [ par gemini010 ] slt a tous, je dois créer un programme avec differente fonctions et structures permettant de gerer des etudiants ( on doit pouvoir ajouter des enregis un tit coup de pouce pour une pile ??? [ par noisette87 ] voici le debut de mon programme :#include #include #include //---------------------------------------------------------------------------#pragma argsu probleme avec un tableau a 3 dimensions [ par tomalille ] bonjour, j'utilise un tableau a 3 dimensions dans un procedure. Je ne comprend pas du tout les resultats de l'algo que j'ai implemente. Je modifie les chemin du fichier en court [ par mohzag ] Salut a tous, <?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office c++ [ par gilles8111 ] salut,je suis débutant en c++,j'ai jusqu'ici toujours programmé en java. Mon problème est le suivant: j'ai implémenté une classe CSpieler dont le cons aide jeux par C [ par ousous09 ] voila, quand je compile ca me donne cette erreur size of indefined or zero j'ai rien compris voila mon programme en C #include #include #include !!! Position du curseur !!! [ par yoyo269 ] Bonjour à toutes et à tous !Je cherche un moyen (en mode console sous Linux) de pouvoir placer le curseur là où je le voudrais.J'ai essayé avec ce cod Initialisation d'une grosse structure [ par moucht8 ] Bonjour,Je vais essayé de résumé mon exercice ^^ J'ai un tableau de villes:char villes[NB_VILLES][LONGNOM]= {"paris","arras","reims","dijon","metz"};E


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,702 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales