Beispiel #1
0
int main(void)
{
	printf("==================== LIF 9: TP Graphes =======================\n\n");
	Graphe g;

	initGrapheVide(g);

	printf("-----Test pour rajouter un Noeud:------\n\n");
	if(ajoutGrapheNoeud(g,"Quito")==0){
		printf("On ajoute le noeud \"Quito\"\n\n");
	}
	if(ajoutGrapheNoeud(g,"Quito")==-1){
		printf("Deuxième ajout de \"Quito\" pas possible\n\n");
	}
	ajoutGrapheNoeud(g,"Guayaquil");
	ajoutGrapheNoeud(g,"Cuenca");
	ajoutGrapheNoeud(g,"Otavalo");
	ajoutGrapheNoeud(g,"Ibarra");

	printf("-----Test pour rajouter un Arc:------\n\n");
	if(ajoutGrapheArcParIndice(g,700,0,1)==0){
		printf("On ajoute de l'arc Quito-Guayaquil en utilisant des indices\n\n");
	}
	if(ajoutGrapheArcParNom(g,800,"Guayaquil","Quito")==1){
		printf("Mise à jour de la distance Quito-Guayaquil en utilisant les noms\n\n");
	}
	
	ajoutGrapheArcParIndice(g,900,0,2);
	ajoutGrapheArcParIndice(g,200,0,3);
	ajoutGrapheArcParIndice(g,300,3,1);

	printf("------Test de Dijkstra:-----------\n");
	Dijkstra(g,0);
	printf("\n");

	printf("------Test affichage du graphe-----------\n");
	afficheGraphe(g);

	printf("-----Test pour supprimer un Noeud:------\n\n");
	if(supressionGrapheNoeudParNom(g,"Quito")==0)
		printf("Supression du Noeud Quito en lui passant son nom\n\n");
	if(supressionGrapheNoeudParIndice(g,4)==0)
		printf("Supression du Noeud Ibarra en lui passant son indice\n\n");

	afficheGraphe(g);

	detruitGraphe(g);

	printf("==================== Fin TP Graphes =======================\n");

	return 0;
}
Beispiel #2
0
int main()
{
  Graphe g;
  char name[20];
  int i;


  srand(time(NULL));
  initGrapheVide(&g);
  
  printf("************* Construction du graphe *************\n");
  for(i=0; i<NB_SOMMETS; i++)
  {
    sprintf(name, "Ville-%d", i);
    if(!ajouteNoeud(&g, name))
      printf("%s deja present\n", name);
  }
  for(i=0; i<NB_ARCS; i++)
  {
    if(!ajouteArc(&g, (rand()%POID_MAX)+1, rand()%NB_SOMMETS, rand()%NB_SOMMETS))
      printf("Sommet de l'arc incorrect ou src=dest\n");
  }
  afficheGraphe(&g);
  printf("*********** Fin construction du graphe ***********\n\n");
  
  printf("******************** Dijkstra ********************\n");
  sprintf(name, "Ville-%d", rand()%NB_SOMMETS);
  dijkstra(&g, name);
  printf("****************** Fin Dijkstra ******************\n\n");
  
  printf("****************** Graphe finit ******************\n");
/*  for(i=0; i<g.nb_sommets; i++)
    if(g->tab_sommets[i].color == BLANC)
      supprimeNoeud(&g, i);*/
  afficheGraphe(&g);
  printf("****************** Graphe finit ******************\n");

  detruitGraphe(&g);

 return 0;
}