diff --git a/SAE2 b/SAE2 index 2bb40e7..26a6798 100755 Binary files a/SAE2 and b/SAE2 differ diff --git a/obj/sort.o b/obj/sort.o index c17d825..3375538 100644 Binary files a/obj/sort.o and b/obj/sort.o differ diff --git a/srcs/sort.c b/srcs/sort.c index e387327..ccff50c 100644 --- a/srcs/sort.c +++ b/srcs/sort.c @@ -22,8 +22,6 @@ int rechTravaux(char *travauxName, Offre **tabTravaux) return -1; } -// la fonction min ne fonctionne pas - // Recherche et garde la meilleure offre par travaux dans le tableau // Affiche chaque offre gardee avec le devis ayant le prix le plus bas void minTravaux(Offre *tabTravaux[]) @@ -39,21 +37,23 @@ void minTravaux(Offre *tabTravaux[]) md = minDev->suiv; while (md) { - if ((md->dev).prix < (minDev->dev).prix || (((md->dev).prix == (minDev->dev).prix) && ((md->dev).capital > (minDev->dev).capital))) + if ((md->dev).prix > (minDev->dev).prix) { - s = minDev; - minDev = md; + s = md; md = md->suiv; } - else if ((md->dev).prix == (minDev->dev).prix && ((md->dev).capital == (minDev->dev).capital)) + else if ((md->dev).prix == (minDev->dev).prix + && ((md->dev).capital == (minDev->dev).capital)) { printf("deux offres minimales !!!\n"); exit (1); } else { - s = md; + s = minDev; + minDev = md; md = md->suiv; + } del(s); } @@ -178,4 +178,4 @@ void triFusionListeDevis(ListeDevis *ldevis, int tlog) ListeDevis mergedList = NULL; fusionMaillonDevis(*ldevis, tlog / 2, qTemp, tlog - tlog / 2, &mergedList); *ldevis = mergedList; -} \ No newline at end of file +}