From 20fc727d4f954eb2109b71a7686c3107fdfa4bbf Mon Sep 17 00:00:00 2001 From: Anhgelus Morhtuuzh Date: Fri, 21 Nov 2025 18:37:48 +0100 Subject: Cours du 3 au 21 novembre ce qui fait 3 semaines en philo et une semaine en info --- .../tme/tme6-11/Reseau.h" | 41 ++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 "semestre 3/structures des donn\303\251es/tme/tme6-11/Reseau.h" (limited to 'semestre 3/structures des données/tme/tme6-11/Reseau.h') diff --git "a/semestre 3/structures des donn\303\251es/tme/tme6-11/Reseau.h" "b/semestre 3/structures des donn\303\251es/tme/tme6-11/Reseau.h" new file mode 100644 index 0000000..dc618a1 --- /dev/null +++ "b/semestre 3/structures des donn\303\251es/tme/tme6-11/Reseau.h" @@ -0,0 +1,41 @@ +#ifndef __RESEAU_H__ +#define __RESEAU_H__ +#include "Chaine.h" + +typedef struct noeud Noeud; + +/* Liste chainee de noeuds (pour la liste des noeuds du reseau ET les listes des voisins de chaque noeud) */ +typedef struct cellnoeud { + Noeud *nd; /* Pointeur vers le noeud stock\'e */ + struct cellnoeud *suiv; /* Cellule suivante dans la liste */ +} CellNoeud; + +/* Noeud du reseau */ +struct noeud{ + int num; /* Numero du noeud */ + double x, y; /* Coordonnees du noeud*/ + CellNoeud *voisins; /* Liste des voisins du noeud */ +}; + +/* Liste chainee de commodites */ +typedef struct cellCommodite { + Noeud *extrA, *extrB; /* Noeuds aux extremites de la commodite */ + struct cellCommodite *suiv; /* Cellule suivante dans la liste */ +} CellCommodite; + +/* Un reseau */ +typedef struct { + int nbNoeuds; /* Nombre de noeuds du reseau */ + int gamma; /* Nombre maximal de fibres par cable */ + CellNoeud *noeuds; /* Liste des noeuds du reseau */ + CellCommodite *commodites; /* Liste des commodites a relier */ +} Reseau; + +Noeud* rechercheCreeNoeudListe(Reseau *R, double x, double y); +Reseau* reconstitueReseauListe(Chaines *C); +void ecrireReseau(Reseau *R, FILE *f); +int nbLiaisons(Reseau *R); +int nbCommodites(Reseau *R); +void afficheReseauSVG(Reseau *R, char* nomInstance); +#endif + -- cgit v1.2.3