From 8b36b65eb8993f1dd5491cb518d4280b4aac282e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?H=C3=A9l=C3=A8ne=20TRAN?= <helene.tran@ensiie.fr> Date: Wed, 27 Dec 2017 14:25:53 +0100 Subject: [PATCH] =?UTF-8?q?V=C3=A9rification=20pour=20RS4=20presque=20ok?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Labgen/a.out | Bin 13656 -> 13800 bytes Labgen/labgen.c | 41 ++++++++++++++++++++++++++++++++--------- 2 files changed, 32 insertions(+), 9 deletions(-) diff --git a/Labgen/a.out b/Labgen/a.out index 26c1cd3880170181255f8f5deff8e44319d3e462..a7f31d8ddde3f96c4943183255bde0d4207c6297 100755 GIT binary patch delta 4008 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 delta 3853 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 diff --git a/Labgen/labgen.c b/Labgen/labgen.c index 62d4a14..313e927 100644 --- a/Labgen/labgen.c +++ b/Labgen/labgen.c @@ -198,20 +198,31 @@ int RS3_check(){ } /* RS4 : L'entrée et les sorties du labyrinthe doivent se situer sur la périphérie - * du labyrinthe */ + * du labyrinthe + * E est le point d'entrée + * S est un tableau dynamique de l'ensemble des sorties + * nb_S est le nombre de sorties + * size est un point donnant la taille du tableau */ int RS4(Point E, Point* S, int nb_S, Point size){ int i; Point tmp; if (S == NULL){ - printf("RS4 : La liste des sorties est vide.\n"); + fprintf(stderr,"RS4 : La liste des sorties est non initialisée.\n"); exit(1); } - if (E.c != 0 && E.l != 0 && E.c != size.c && E.l != size.l){ + else if (nb_S == 0){ + printf("RS4 : La liste des sorties est vide.\n"); + return 0; + } + + /* Vérification pour l'entrée */ + else if (E.c != 0 && E.l != 0 && E.c != size.c && E.l != size.l){ return 0; } + /* Vérification pour toutes les sorties */ else { for (i=0 ; i<nb_S ; i++){ tmp = S[i]; @@ -224,7 +235,9 @@ int RS4(Point E, Point* S, int nb_S, Point size){ } -/*int main(){ +/* Test des fonctions pour les règles sémantiques */ +int main(){ + char*** matrice = create_matrice(5,6); Point size = new_point(5,6); Point entree1 = new_point(0,0); @@ -232,11 +245,20 @@ int RS4(Point E, Point* S, int nb_S, Point size){ Point entree3 = new_point(5,0); Point entree4 = new_point(0,5); + change_val_matrice(entree1,"E",matrice); + change_val_matrice(entree2,"E",matrice); + change_val_matrice(entree3,"E",matrice); + change_val_matrice(entree4,"E",matrice); + Point* listeS = NULL; listeS = calloc(1,sizeof(Point)); - listeS[0] = new_point(0,0); - printf("listeS[0] : (%d,%d)\n",listeS[0].c, listeS[0].l); + listeS[0] = new_point(5,6); + /* A tester : pour plusieurs sorties */ + change_val_matrice(new_point(5,6),"S",matrice); + affichmat(matrice); + + printf("\nlisteS[0] : (%d,%d)\n",listeS[0].c, listeS[0].l); printf("Test entree1 : %d\n", RS4(entree1,listeS,1,size)); printf("Test entree2 : %d\n", RS4(entree2,listeS,1,size)); @@ -245,11 +267,12 @@ int RS4(Point E, Point* S, int nb_S, Point size){ return 0; -}*/ +} -int main () { +/* Test des fonctions de base de la matrice et de listevars */ +/*int main () { char*** matrice = create_matrice(5,6); Point p1 = new_point(4,2); @@ -278,4 +301,4 @@ int main () { printf("Deuxième valeur : %d\n",listevars.val[1]); return 0; -} +}*/ -- GitLab