aboutsummaryrefslogtreecommitdiff
path: root/semestre 3/structures des données/tme/tme6-11/Chaine.h
diff options
context:
space:
mode:
Diffstat (limited to 'semestre 3/structures des données/tme/tme6-11/Chaine.h')
-rw-r--r--semestre 3/structures des données/tme/tme6-11/Chaine.h31
1 files changed, 31 insertions, 0 deletions
diff --git a/semestre 3/structures des données/tme/tme6-11/Chaine.h b/semestre 3/structures des données/tme/tme6-11/Chaine.h
new file mode 100644
index 0000000..3539be7
--- /dev/null
+++ b/semestre 3/structures des données/tme/tme6-11/Chaine.h
@@ -0,0 +1,31 @@
+#ifndef __CHAINE_H__
+#define __CHAINE_H__
+#include<stdio.h>
+
+/* Liste chainee de points */
+typedef struct cellPoint{
+ double x,y; /* Coordonnees du point */
+ struct cellPoint *suiv; /* Cellule suivante dans la liste */
+} CellPoint;
+
+/* Celllule d une liste (chainee) de chaines */
+typedef struct cellChaine{
+ int numero; /* Numero de la chaine */
+ CellPoint *points; /* Liste des points de la chaine */
+ struct cellChaine *suiv; /* Cellule suivante dans la liste */
+} CellChaine;
+
+/* L'ensemble des chaines */
+typedef struct {
+ int gamma; /* Nombre maximal de fibres par cable */
+ int nbChaines; /* Nombre de chaines */
+ CellChaine *chaines; /* La liste chainee des chaines */
+} Chaines;
+
+Chaines* lectureChaines(FILE *f);
+void ecrireChaines(Chaines *C, FILE *f);
+void afficheChainesSVG(Chaines *C, char* nomInstance);
+double longueurTotale(Chaines *C);
+int comptePointsTotal(Chaines *C);
+
+#endif