diff --git a/banque b/banque index 146ab54..06ac886 100755 Binary files a/banque and b/banque differ diff --git a/banque.c b/banque.c index 0398bc6..6e07b7c 100644 --- a/banque.c +++ b/banque.c @@ -71,18 +71,16 @@ Transaction *generer_transactions(int n) /* ------------------------------------------------------------------ */ /* F1 : trie les transactions par montant croissant, puis par id */ +int compareFunction(const void *ptr1, const void *ptr2){ + const Transaction *t1 = ptr1, *t2 = ptr2; + if(t1->montant != t2->montant) + return (t1->montant > t2->montant) - (t1->montant < t2->montant); + return (t1->id > t2->id) - (t1->id < t2->id); +} + void trier_par_montant(Transaction *t, int n) { - for (int i = 0; i < n - 1; i++) { - for (int j = 0; j < n - 1 - i; j++) { - if (t[j].montant > t[j + 1].montant || - (t[j].montant == t[j + 1].montant && t[j].id > t[j + 1].id)) { - Transaction tmp = t[j]; - t[j] = t[j + 1]; - t[j + 1] = tmp; - } - } - } + qsort(t, n, sizeof(Transaction), compareFunction); } /* F2 : nombre de clients ayant au moins une transaction */ diff --git a/evaluer.sh b/evaluer.sh old mode 100644 new mode 100755 diff --git a/resultats.csv b/resultats.csv new file mode 100644 index 0000000..362e90e --- /dev/null +++ b/resultats.csv @@ -0,0 +1,3 @@ +zaabay;-;2230 +zaabay;-;946 +zaabay;-;913