Esempio n. 1
0
int main(int argc, char *argv[]) {
	tGraphe graphe;
	if (argc < 3) {
		halt("Usage : %s FichierGraphe NumeroSommetDeDepart\n", argv[0]);
	}
	graphe = grapheAlloue();
	grapheChargeFichier(graphe,argv[1]);
	parcoursEnLargeur(graphe,atoi(argv[2]));
	// on libère l'espace mémoire occupé par le graphe car on n'en a plus besoin
	grapheLibere(graphe);
	exit(EXIT_SUCCESS);
}
Esempio n. 2
0
int main(int argc, char *argv[]){
  tGraphe graphe;
  int d[MAX_SOMMETS];
  tNumeroSommet pred[MAX_SOMMETS], numSommet;
  graphe = grapheAlloue();
  grapheChargeFichier(graphe, argv[1]);
  plus_courte_chaine(graphe, argv[2],d,pred);
  numSommet = grapheChercheSommetParNom(graphe,argv[2]);
  printf("%d [%d]\n",d[numSommet], numSommet);
  for(int i=0; i<grapheNbVoisinsSommet(graphe,numSommet); i++){
      printf("d[%d] = %d \n",i, d[i]);
    }
  grapheLibere(graphe);
}
Esempio n. 3
0
void parcoursEnLargeurCouleurs(tGraphe graphe, tNumeroSommet sommetDepart, tTabCouleurs tableauCouleurs) {
	tFileSommets fileSommets;
	// variable contenant les numéros des sommets défilés
	tNumeroSommet x;
	// variable contenant les voisins de x
	tNumeroSommet y;
	// variable contenant les noms des sommets affichés
	tNomSommet nomSommet;
	// indice de boucle
	int i;
	grapheRecupNomSommet(graphe,sommetDepart,nomSommet);
	fileSommets = fileSommetsAlloue();
	// on colorie le sommet de départ en vert et tous les autres sommets en bleu
	for (i = 0 ; i < grapheNbSommets(graphe) ; i++) {
		tableauCouleurs[i] = BLEU;
	}
	for (i = 0 ; i < grapheNbSommets(graphe) ; i++) {
		if (i == sommetDepart) {
			tableauCouleurs[i] = VERT;
			// on affiche le graphe au départ (quand tous les sommets) sont bleus et le sommet de départ est vert
			graphe2visuCouleurs(graphe,"visuCouleurs",tableauCouleurs);
		}
	}
	// on enfile le sommet de départ
	fileSommetsEnfile(fileSommets,sommetDepart);
	while (!fileSommetsEstVide(fileSommets)) {
		// on défile le dernier sommet enfilé
		x = fileSommetsDefile(fileSommets);
		// on parcourt la liste des voisins de x
		for (i = 0 ; i < grapheNbVoisinsSommet(graphe,x) ; i++) {
			// on récupère le numéro du i-ème voisin de x
			y = grapheVoisinSommetNumero(graphe,x,i);
			// s'il est bleu, on le colorie en vert et on l'enfile
			if (tableauCouleurs[y] == BLEU) {
				tableauCouleurs[y] = VERT;
				// on affiche le graphe car il y a eu un changement de couleur
				graphe2visuCouleurs(graphe,"visuCouleurs",tableauCouleurs);
				fileSommetsEnfile(fileSommets,y);
			}
		}
		// on colorie x en rouge et on affiche le nom de sommet correspondant
		tableauCouleurs[x] = ROUGE;
		// on affiche le graphe car il y a eu un changement de couleur
		graphe2visuCouleurs(graphe,"visuCouleurs",tableauCouleurs);
		grapheRecupNomSommet(graphe,x,nomSommet);
	}
	printf("\n");
	// on libère l'espace mémoire occupé par le graphe car on n'en a plus besoin
	grapheLibere(graphe);
}
Esempio n. 4
0
int main(int argc, char * argv[])
{
  tGraphe graphe;
  if(argc < 3){
    perror("Use ./parcoursEnProfondeur \"fichier graphe\" \"numero sommet\"");
    return -1;
  }
  
  graphe = grapheAlloue();
  grapheChargeFichier(graphe,  argv[1]);
  affiche_parcours_largeur(graphe, atoi(argv[2]), 1);
  grapheLibere(graphe);
  
  return 0;
}
Esempio n. 5
0
int main(int argc, char *argv[]) {
  tGraphe graphe;

  if (argc<2) {
    halt("Usage : %s FichierGraphe\n", argv[0]);
  }

  
  graphe = grapheAlloue();
  
  grapheChargeFichier(graphe,  argv[1]);
  grapheAffiche(graphe);

  grapheLibere(graphe);

  exit(EXIT_SUCCESS);
}
Esempio n. 6
0
int main(int argc, char *argv[]) {

tGraphe graphe;

  if (argc<3) {
    halt("Usage : %s FichierGraphe %s Outfile\n", argv[0],argv[1]);
  }

  graphe = grapheAlloue();
  grapheChargeFichier(graphe, argv[1]);
  
  graphe2visu(graphe,argv[2]);

  grapheLibere(graphe);

  exit(EXIT_SUCCESS);
}
Esempio n. 7
0
int main(int argc, char *argv[]) {
tGraphe graphe;

  if (argc<3) {
    halt("Usage : %s FichierGraphe %s Nom Sommet %s\n", argv[0],argv[1],argv[2]);
  }

  graphe = grapheAlloue();
  grapheChargeFichier(graphe, argv[1]);

  plusCourteChaine(graphe,argv[2]);

  grapheLibere(graphe);

  exit(EXIT_SUCCESS);

}
Esempio n. 8
0
int main(int argc, char *argv[]) {
  
  tGraphe graphe;
  
  
  
  if (argc<3) {
    halt("Usage : %s FichierGraphe\n", argv[0]);
  }
  
  
  graphe = grapheAlloue();
  grapheChargeFichier(graphe, argv[1]);
  parcour_Profondeur(graphe,argv[2]);
  grapheLibere(graphe);
  exit(EXIT_SUCCESS);
}
Esempio n. 9
0
int main(int argc, char *argv[]) {

  tGraphe graphe;
  tTabCouleurs tabCouleurs;
  if (argc < 3) {
    halt("Usage : %s FichierGraphe NomSommetDeBase\n", argv[0]);
  }

  graphe = grapheAlloue();

  grapheChargeFichier(graphe,  argv[1]);

  parcoursLargeur(graphe, argv[2], tabCouleurs);

  grapheLibere(graphe);
  exit(EXIT_SUCCESS);

}
Esempio n. 10
0
int main(int argc, char** argv)
{
	tNomSommet* first;
	if (argc<3)
    	halt("Usage : %s FichierGraphe\n", argv[0]);

	/* creation du graph et allocation memoire */
	tGraphe graphe = grapheAlloue();
	
	/* on charge dans le graphe le fichier passer en param et on init le 1er sommet pour le parcour*/
	grapheChargeFichier(graphe,argv[1]);
	first = (tNomSommet*)(argv[2]);
	
	parcourLarg(graphe,*first);
	
	/* on free le graphe */
	grapheLibere(graphe);
	return 1;
}
Esempio n. 11
0
int main(int argc, char *argv[]) {

  tGraphe graphe;
  tTabCouleurs tabCouleurs;
  if (argc < 4) {
    halt("Usage : %s FichierGraphe SommetEntree SommetSortie\n", argv[0]);
  }

  graphe = grapheAlloue();

  grapheChargeFichier(graphe,  argv[1]);

  if(!solutionLab(graphe, argv[2], argv[3],tabCouleurs))
  {
    printf("Il n'y a pas de chemin dans le labyrinthe.\n");
  }

  grapheLibere(graphe);
  exit(EXIT_SUCCESS);

}
Esempio n. 12
0
int main(int argc, char *argv[]) {

  tGraphe graphe;

  if (argc<2) {
    halt("Usage : %s FichierGraphe\n", argv[0]);
  }

//On initialise la graphe  
  graphe = grapheAlloue();
  
//On prend le premier argument de la fonction et on le met dans graphe. On charge le fichier graphe.
  grapheChargeFichier(graphe,  argv[1]);
//On affiche de maniere detaillee le graphe.
  grapheAffiche(graphe);

//On libere la mémoire occupee par le graphe
  grapheLibere(graphe);

  exit(EXIT_SUCCESS);
}
Esempio n. 13
0
int main(int argc, char** argv)
{
	if (argc<2)
    	halt("Usage : %s FichierGraphe\n", argv[0]);

	/* creation du graph et allocation memoire */
	tGraphe graphe = grapheAlloue();
	/* creation du fichier grp (argv[1] ne doi pas contenir l'extention) */
	char grpfile[80] = "";
	strcat(grpfile,argv[1]);
	strcat(grpfile,".grp");
	
	/* on charge dans le graphe le fichier passer en param */
	grapheChargeFichier(graphe,grpfile);
	
	/* on appelle la methode ki creer le .ps apartir du .grp en passant par un .dot */
	graphe2visu(graphe,argv[1]);
	
	/* on free le graphe */
	grapheLibere(graphe);
	return 1;
}
Esempio n. 14
0
int main(int argc, char *argv[]) {

 tGraphe graphe;
graphe = grapheAlloue();
grapheChargeFichier(graphe,  argv[1]);
	
int nbsommet=grapheNbSommets(graphe);
tNumeroSommet i=0;
tNumeroSommet j=0;
tNumeroSommet k=0;
tNomSommet nom;
tNumeroSommet maxvoisin;


	while (i< nbsommet){
		if(grapheNbVoisinsSommet (graphe, i)==0){
			
			grapheRecupNomSommet(graphe,i,nom);
			printf("Sommet sans voisin : %s\n",nom);
		}
		i++;
	}






	while (j< nbsommet){
		if (maxvoisin <= grapheNbVoisinsSommet(graphe, j)){
			maxvoisin = grapheNbVoisinsSommet(graphe, j);
		}
		j++;
	}
	while (k<nbsommet){
		if (maxvoisin == grapheNbVoisinsSommet(graphe, k) ){

			grapheRecupNomSommet(graphe,k,nom);
			printf("Sommet avec voisin max : %s\n",nom);
	}
	k++;
}




/*Q7 display graphique*/
	













grapheLibere(graphe);
exit(EXIT_SUCCESS);
}