Bonjour,
déjà un indice dans les premières lignes :
cout << "** Dijkstra **" << endl;
On a certainement à faire avec l'algorithme de Dijkstra pour le calcul du plus court chemin. Ce qui se confirme à la lecture du code par la suite.
Les points un peu délicats pourraient être :
- La seule utilisation de C++ dans le code est visiblement cout << qui se traduirait pas des printf en C.
- Chemins est la matrice 5x5 des poids des arêtes de ton graphe (distance entre 2 villes) donnée sous forme plate (25 données, les 5 premières forment la première ligne, les cinq suivantes la deuxième, etc)
- INIFINI qui même s'il n'est pas explicitement défini dans ton bout de code doit sans doute être une constante donnant le plus grand réel représentable ce qui se traduirait en C par l'inclusion du header float.h et d'un #define INFINI DBL_MAX
Maintenant, à moins que le but du travail soit de traduire ce code C++ en C, il est préférable de comprendre l'algorithme de Dijkstra par toi même puis de le coder toi-même en C. Ce n'est pas un algorithme très compliqué et il fait partie des algo fondamentaux. Je t'ai donné en lien la page wikipédia, mais tu auras une foultitude d'autres liens/vidéos/démos avec une recherche google.
Partager