From 7466a3fe1d4cc3e851128102676de4623462dbd4 Mon Sep 17 00:00:00 2001 From: "thibaud.la_riviere-gillet" Date: Fri, 12 Jan 2024 19:29:54 +0100 Subject: [PATCH] nouvelle version --- SAE2 | Bin 36312 -> 36312 bytes includes/charge.h | 4 ++-- obj/part4.o | Bin 1104 -> 1040 bytes srcs/part4.c | 38 ++++++++++++++++---------------------- srcs/structures.c | 8 +++++--- 5 files changed, 23 insertions(+), 27 deletions(-) diff --git a/SAE2 b/SAE2 index 28d9a5bfa0f25e10be6ad718ebc4b3726abadbc0..8779e813db2667de3e809ec703280ca44751262a 100755 GIT binary patch delta 2732 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 Nf_A2Ry^D}B`9F-o64C$w diff --git a/includes/charge.h b/includes/charge.h index 7d8bd31..4c8c7fd 100644 --- a/includes/charge.h +++ b/includes/charge.h @@ -52,8 +52,8 @@ ListeDevis del(ListeDevis l); ListeDevis insert(ListeDevis l, Devis d); ListeDevis newListeDevis(void); Tache *trouverTache(Tache **tabTache, int nbTaches, char *nom); -Tache* defiler(ListeAttente *file); +Tache* defiler(ListeAttente *file); ListeAttente* initialiserFileAttente(void); -ListeAttente* traiterTaches(Tache **tabTache); +void traiterTaches(Tache *tabTache[]); diff --git a/obj/part4.o b/obj/part4.o index 90e870dcd7b9872ef30ab6b64c91a1a36428129b..006357df84364686d522d4489b310d27e30e0833 100644 GIT binary patch literal 1040 zcmb7Czi-n(6n+;cu@TUyQY(`TP$t^J5+I>=LLQ1(7!ZmO+Yu#(SZdNXb$_5Pk+O7+ z)IAy7zW{lw#KM9Q3qoQEOwPc-79)cBp6zShh=nJ;`|kbv?%mz{`0K}?Yea$|yyT%x z-Yh{OWoQuZ{=IbLN}{6_m8~P4HJ6r2={X191&5T?M=z=uw%WbS@Nuo75fwR@r!IpM zDeIf9tyo~6_ofDBZ$h9x~hwH9aG$9e;r#OBaA6v9dDw^3&R z&wx*XSD}n7oWshsd`1EKzY=M=Pt!yFbox&8hrL^qs7`+L8fuac-i5%led9K52X6XJGF*Yl47rZ;MB`PJb4(+Hv*m2;BW*nNYN&iAQiTzD(+%kf%~}yG!BQU9)R26 z%>!Lv1($%1tUuPpR)lvPV$#c`DXRMopuAb|w{i5l)N%ENQCXv(Vr@P$FZp3_U2ls!&xuzXI zQyM8~q;QYY5d9(a)|bqIrp@ywJ@<1o7@}s4-xR0awG0jTJo?7>H0|vx>jiI9JzVvB z`hs_Tfb+Y?M};1~@!4Bld`9i11@p#Z|CgC~5DxP(Am%v#9a(&rd^^TO%? diff --git a/srcs/part4.c b/srcs/part4.c index 89e3e28..6bdcb75 100644 --- a/srcs/part4.c +++ b/srcs/part4.c @@ -1,35 +1,29 @@ #include "../includes/main.h" -ListeAttente* traiterTaches(Tache **tabTache) +void traiterTaches(Tache *tabTache[]) { - int i; - int dateCourante; - Tache *tacheCourante; - Tache *successeur; - Liste successeurs; - ListeAttente *file = initialiserFileAttente(); + ListeAttente file; + Liste succCourant; + file.debut = 0; + file.fin = 0; - for (i = 0; i < TMAXTRAV; i++) + for (int i = 0; i < TMAXTRAV; i++) if (tabTache[i]->nbPred == 0) - enfiler(file, tabTache[i]); + enfiler(&file, tabTache[i]); - while (!estVide(file)) + // Etape courante (utilisation d’une boucle) + while (!estVide(&file)) { - tacheCourante = defiler(file); - dateCourante = tacheCourante->dateDebut; - successeurs = tacheCourante->succ; - - while (successeurs) + Tache *tacheActuelle = defiler(&file); + succCourant = tacheActuelle->succ; + while (succCourant) { - successeur = trouverTache(tabTache, TMAXTRAV, successeurs->tache); - successeur->dateDebut = max(successeur->dateDebut, dateCourante + tacheCourante->duree); + Tache *successeur = trouverTache(tabTache, TMAXTRAV, succCourant->tache); + successeur->dateDebut = max(successeur->dateDebut, tacheActuelle->dateDebut + tacheActuelle->duree); successeur->nbPred--; - if (successeur->nbPred == 0) - enfiler(file, successeur); - successeurs = successeurs->nxt; + enfiler(&file, successeur); + succCourant = succCourant->nxt; } } - - return (file); } diff --git a/srcs/structures.c b/srcs/structures.c index 65ffc3f..f9da3bb 100644 --- a/srcs/structures.c +++ b/srcs/structures.c @@ -151,14 +151,16 @@ ListeDevis del(ListeDevis l) } //file -Tache* defiler(ListeAttente *file) +Tache* defiler(ListeAttente *file) { Tache *tache; - if (file->debut == file->fin) - return (NULL); + if (file->debut == file->fin) + return NULL; + tache = file->tab[file->debut]; file->debut = (file->debut + 1) % TMAXTRAV; + return (tache); } /*---------------calculs----------------*/