00001 /* ****************************************************************** * 00002 * ****************************************************************** * 00003 * Nom : Pierre Hyvernat 00004 * TP 1 ; info505 : algorithmes sur les graphes 00005 * ****************************************************************** * 00006 * ****************************************************************** * 00007 */ 00008 00009 00010 00011 /* Remarques : 00012 * 00013 * Pour tester votre programme, vous pouvez créer une fonction "main" à la 00014 * fin de ce fichier. 00015 * 00016 * Si vous voulez tester votre programme de la même manière que je le 00017 * testerais, vous pouvez récupérer le "test.c" sur ma page internet. Pour 00018 * l'utiliser, il faut supprimer (ou commenter) votre fonction "main" (il y 00019 * a déjà une fonction main dans le fichier "test.c") puis suivre les étapes 00020 * suivantes : 00021 * - "> gcc -c graphes.c" 00022 * - "> gcc -c test.c" 00023 * - "> gcc -Wall -c nom1-nom2.c" 00024 * - "> gcc -Wall -o test graphes.o nom1-nom2.o test.o" 00025 * - lancer l'exécutable avec "> ./test" 00026 * Les premières étapes de compilation ne sont à faire qu'une seule fois... 00027 * 00028 * Vous pouvez aussi automatiser la compilation en utilisant la commande 00029 * "make". Pour faire ça, il faut aussi récupérer le fichier "Makefile" sur 00030 * ma page internet. Il faut ensuite remplacer (partout) "hyvernat" 00031 * par "nom" dans le fichier "Makefile" et lancer "> make". 00032 * 00033 * Pour pouvoir utiliser le fichier "test.c", il vous faudra créer quatres 00034 * fichiers appelés "graphe1.gr", "graphe2.gr", "graphe3.gr" et "graphe4.gr" 00035 * contenant des graphes tels que décrit dans le fichier "graphes.h" vers la 00036 * fonction "lireGrapheListe". 00037 * 00038 */ 00039 00040 00041 00042 00043 00044 00045 00046 00047 00048 /* on aura besoin des types et fonction dclarés dans "graphes.h" */ 00049 #include "graphes.h" 00050 00051 00052 00053 00054 /* Exo 1, question 1 : affichage */ 00055 /* Blabla... */ 00056 void afficheGrapheListe (const GrapheListe G) { 00057 } 00058 00059 00060 /* Exo 1, question 2 : conversion liste d'adjacence vers matrice d'adjacence. */ 00061 /* Blabla...*/ 00062 GrapheMatr listeVersMatrice(const GrapheListe G) { 00063 return(NULL) ; 00064 } 00065 00066 /* Exo 1, question 2 : conversion matrice d'adjacence vers liste d'adjacence. */ 00067 /* Blabla...*/ 00068 GrapheListe matriceVersListe(const GrapheMatr H) { 00069 return(NULL); 00070 } 00071 00072 00073 00074 /* Exo 1, question 3 : calcul du tranposé d'un graphe */ 00075 /* Blabla...*/ 00076 GrapheListe transpose(const GrapheListe G) { 00077 return(NULL); 00078 } 00079 00080 00081 00082 /* Exo 2 : vérifier si un graphe est biparti. */ 00083 /* Blabla... */ 00084 int*biparti(const GrapheListe G) { 00085 return(NULL) ; 00086 } 00087 00088 00089 00090 /* Exo 3 : calcul des composantes fortement connexes. */ 00091 /* Blabla... */ 00092 int composantesFortemenentConnexes(const GrapheListe G, int *CC) { 00093 return(-1); 00094 }