From 82bc9bc21c3f54fd8b3df8d50dcb03724016229d Mon Sep 17 00:00:00 2001 From: alexandre Date: Sun, 14 Apr 2024 15:38:20 +0200 Subject: [PATCH] fixed a bunch of memory leaks leading to random crashes --- algorithm.c | 53 ++++++---- main.c | 30 ++---- output.csv | 292 ++++++++++++++++++++++++++-------------------------- structure.c | 2 +- 4 files changed, 189 insertions(+), 188 deletions(-) diff --git a/algorithm.c b/algorithm.c index d49f0bc..0d5e155 100644 --- a/algorithm.c +++ b/algorithm.c @@ -424,15 +424,12 @@ colleur* get_colleurs(colleur* cl, int len_cl, date d, int* how_many) { colleur* res = malloc(sizeof(colleur)*30); // max. 3 colles per creneau //printf("X\n"); int ptr = 0; - //printf("[]\n"); for(int i = 0; i < len_cl; i++) { for(int j = 0; j < cl[i].n_disp; j++) { if(is_equal_date(cl[i].disp[j], d)) { //printf("%s\n", cl[i].name); if(ptr >= 30) { printf("warning : too many colleurs detected for a creneau\n"); - *how_many = 0; - return res; } res[ptr] = cl[i]; ptr++; @@ -783,18 +780,17 @@ void add_colles_for_group_MP2I(int* weeks_len, creneau* edt, int len_edt, colleu 2 = math 3 (not implemented) = info */ - colleur* dudes = malloc(sizeof(colleur)*2); // used to import colleurs available for a creneau int len_dudes = 0; // length of colleur* - int* perm = malloc(sizeof(int)*30); // randomize who to pick int len_perm = 0; // length of int* int math_dude = 0; // length of colleur* + int weeklen; //printf("\n"); for(int week = 0; week < n_weeks; week++) { - int weeklen = weeks_len[week]; + weeklen = weeks_len[week]; // update what colles to add if(math == 0) { math = 3; @@ -822,14 +818,14 @@ void add_colles_for_group_MP2I(int* weeks_len, creneau* edt, int len_edt, colleu if(edt[k+r%weeklen].group == 0 && edt[k+r%weeklen].length == 2) { // if creneau is empty // import all colleurs available - free(dudes); - dudes = get_colleurs(chads, len_chads, edt[k+r%weeklen].date, &len_dudes); + colleur* dudes = get_colleurs(chads, len_chads, edt[k+r%weeklen].date, &len_dudes); len_perm = len_dudes; // if there are colleurs available if(len_dudes != 0) { // randomize the order of colleurs + int* perm = malloc(sizeof(int)*len_perm); generate_random_perm(perm, len_perm); // for each one of them, add his colle for selected group pf and only if @@ -842,7 +838,9 @@ void add_colles_for_group_MP2I(int* weeks_len, creneau* edt, int len_edt, colleu info = 0; } } + free(perm); } + free(dudes); } if(!found && halt > weeklen) { info = 0; @@ -863,14 +861,14 @@ void add_colles_for_group_MP2I(int* weeks_len, creneau* edt, int len_edt, colleu if(edt[k+r%weeklen].mat == NOTHING && edt[k+r%weeklen].length == 1) { // if creneau is empty // import all colleurs available - free(dudes); - dudes = get_colleurs(chads, len_chads, edt[k+r%weeklen].date, &len_dudes); + colleur* dudes = get_colleurs(chads, len_chads, edt[k+r%weeklen].date, &len_dudes); len_perm = len_dudes; // if there are colleurs available if(len_dudes != 0) { // randomize the order of colleurs + int* perm = malloc(sizeof(int)*len_perm); generate_random_perm(perm, len_perm); // for each one of them, add his colle for selected group pf and only if @@ -889,7 +887,9 @@ void add_colles_for_group_MP2I(int* weeks_len, creneau* edt, int len_edt, colleu } } } + free(perm); } + free(dudes); } if(!found && halt > weeklen) { remaining_to_add--; @@ -907,9 +907,10 @@ void add_colles_for_group_MP2I(int* weeks_len, creneau* edt, int len_edt, colleu // do it again for physics/english colles while(remaining_to_add == 1) { if(edt[k+r%weeklen].mat == NOTHING && edt[k+r%weeklen].length == 1) { - dudes = get_colleurs(chads, len_chads, edt[k+r%weeklen].date, &len_dudes); + colleur* dudes = get_colleurs(chads, len_chads, edt[k+r%weeklen].date, &len_dudes); len_perm = len_dudes; if(len_dudes != 0) { + int* perm = malloc(sizeof(int)*len_perm); generate_random_perm(perm, len_perm); math_dude = 0; for(int dude = 0; dude < len_dudes; dude++) { @@ -930,7 +931,9 @@ void add_colles_for_group_MP2I(int* weeks_len, creneau* edt, int len_edt, colleu } } } + free(perm); } + free(dudes); } if(!found && halt > weeks_len[week]) { remaining_to_add--; @@ -944,9 +947,6 @@ void add_colles_for_group_MP2I(int* weeks_len, creneau* edt, int len_edt, colleu k += weeks_len[week]; remaining_to_add = 0; } - // avoid memory loss - free(perm); - free(dudes); } void write_to_file(char* filename, creneau* edt, int len_edt) { @@ -997,7 +997,7 @@ int score(creneau* edt, int len_edt, int grp) { if(edt[i].group == grp && edt[j].group == grp) { dist = date_dist(edt[i].date, edt[j].date); if(dist == 0) { - score -= 7; + score -= 4; } /*if(str_equal(edt[i].name, edt[j].name)) { printf("%d\n", dist); @@ -1016,7 +1016,7 @@ int score(creneau* edt, int len_edt, int grp) { return score; } -void aux_2(creneau* edt, int len_edt, colleur* chads, int len_chads, int n_groups, int n_weeks, int n_sim) { +void aux_2(creneau* edt, int len_edt, colleur* chads, int len_chads, int n_groups, int n_weeks, int n_sim, char* outname) { int start = time(NULL); int* weeks_len = malloc(sizeof(int)*n_weeks); // this list is used to tell the above code what index of edt it has to go to search for a colle @@ -1031,6 +1031,9 @@ void aux_2(creneau* edt, int len_edt, colleur* chads, int len_chads, int n_group current++; } + int* group_stats = malloc(sizeof(int)*n_groups); + int* group_temp = malloc(sizeof(int)*n_groups); + /* print_one_week(edt, len_edt, edt[0].date); printf("\n"); @@ -1051,7 +1054,7 @@ void aux_2(creneau* edt, int len_edt, colleur* chads, int len_chads, int n_group int local_group = 0; int temp = 0; int skipped = 0; - int a = n_sim/100; + int a = 0; for(int k = 0; k < n_sim*(1 - (max_score == n_groups*100)); k++) { if(k >= a) { printf("\x1b[1F"); @@ -1071,6 +1074,7 @@ void aux_2(creneau* edt, int len_edt, colleur* chads, int len_chads, int n_group //printf("Score for group %d : %d\n", i+1, score(edt, len_edt, i+1)); temp = score(edt, len_edt, i+1); local_score += temp; + group_temp[i] = temp; if(local_min > temp) { local_min = temp; local_group = i+1; @@ -1082,7 +1086,10 @@ void aux_2(creneau* edt, int len_edt, colleur* chads, int len_chads, int n_group screwed_group = local_group; global_min = local_min; global_skipped = skipped; - write_to_file("output.csv", edt, len_edt); + for(int p = 0; p < n_groups; p++) { + group_stats[p] = group_temp[p]; + } + write_to_file(outname, edt, len_edt); } for(int r = 0; r < len_edt; r++) { remove_colle(edt, r); @@ -1096,9 +1103,16 @@ void aux_2(creneau* edt, int len_edt, colleur* chads, int len_chads, int n_group } else { printf("100% Completed, best score is %d/%d (without skip penalty) with %d skipped colle(s)\n", max_score+global_skipped*30, 100*n_groups, global_skipped); printf("Most screwed group is %d with a score of %d/100\n", screwed_group, global_min); + printf("Stats for all groups are :\n"); + for(int i = 0; i < n_groups; i++) { + printf("Group %d : %d/100\n", i+1, group_stats[i]); + } } int end = time(NULL); printf("Took %ds to found\n", end-start); + free(group_stats); + free(group_temp); + free(weeks_len); } @@ -1107,6 +1121,3 @@ void aux_2(creneau* edt, int len_edt, colleur* chads, int len_chads, int n_group - - - diff --git a/main.c b/main.c index 4213407..8c03f7e 100644 --- a/main.c +++ b/main.c @@ -14,27 +14,17 @@ int main() { colleur* dudes = import_colleurs_oneweek("MP2I-colleurs.txt", 16, 6, 33); int n_colleurs = 16; - //print_all_edt(edt, len_edt, 6, 31); - //print_all_colleurs(dudes, n_colleurs); - - //assert(0); - - // {char* name; int namelen; topic mat; date* disp; int n_disp;} colleur; - - /*int* a = malloc(sizeof(int)*10); - generate_random_perm(a, 10); - print_arr(a, 10);*/ - aux_2(edt, len_edt, dudes, n_colleurs, 15, 6, 1500); - //generate_colles_v1(edt, len_creneau, dudes, n_colleurs, 9, 4); - //generate_colles_v1(edt, len_creneau, dudes, n_colleurs, 15, 4); - - /* - date d1 = {19, 1, 3, 2024}; - date d2 = {18, 1, 4, 2024}; - - printf("%d\n", date_dist(d1, d2)); - */ + aux_2(edt, len_edt, dudes, n_colleurs, 15, 6, 5000, "output.csv"); + for(int i = 0; i < len_edt; i++) { + free(edt[i].name); + } free(edt); + + for(int i = 0; i < n_colleurs; i++) { + free(dudes[i].disp); + free(dudes[i].name); + } + free(dudes); return 0; } diff --git a/output.csv b/output.csv index 4cff889..899205c 100644 --- a/output.csv +++ b/output.csv @@ -1,199 +1,199 @@ hour,day,month,year,length,group,colleur,matiere -12,5,2,2024,1,12,Chevalier,Physique -13,5,2,2024,1,1,Herbaut,Anglais -14,6,2,2024,1,5,Belaggoune,Anglais -14,6,2,2024,1,7,Belaggoune,Anglais -14,6,2,2024,1,8,Mullaert,Maths -17,6,2,2024,1,14,Colin,Physique -17,6,2,2024,1,2,Chevalier,Physique +12,5,2,2024,1,6,Chevalier,Physique +13,5,2,2024,1,9,Herbaut,Anglais +14,6,2,2024,1,2,Chevalier,Physique +14,6,2,2024,1,6,Mullaert,Maths +14,6,2,2024,1,1,Belaggoune,Anglais +17,6,2,2024,1,12,Chevalier,Physique +17,6,2,2024,1,4,Colin,Physique 18,6,2,2024,1,11,Rapin,Maths -13,7,2,2024,1,12,Carpintero,Maths -14,7,2,2024,1,2,Bouverot,Maths -14,7,2,2024,1,9,Le_Gouriellec,Anglais -14,7,2,2024,1,4,Carpintero,Maths -14,7,2,2024,1,11,Le_Gouriellec,Anglais +13,7,2,2024,1,8,Carpintero,Maths +14,7,2,2024,1,3,Carpintero,Maths +14,7,2,2024,1,3,Le_Gouriellec,Anglais +14,7,2,2024,1,4,Boully,Maths +14,7,2,2024,1,12,Bouverot,Maths +14,7,2,2024,2,6,Colleur_Dinfo,Info 14,7,2,2024,2,12,Colleur_Dinfo,Info 14,7,2,2024,2,0,none,_ -14,7,2,2024,2,6,Colleur_Dinfo,Info -15,7,2,2024,1,10,Boully,Maths -15,7,2,2024,1,13,Le_Gouriellec,Anglais -15,7,2,2024,1,14,Bouverot,Maths -16,7,2,2024,1,15,Mann,Anglais +15,7,2,2024,1,14,Boully,Maths +15,7,2,2024,1,15,Bouverot,Maths +15,7,2,2024,1,5,Le_Gouriellec,Anglais +16,7,2,2024,1,7,Mann,Anglais 16,7,2,2024,2,0,none,_ 16,7,2,2024,2,0,none,_ 16,7,2,2024,2,0,none,_ -17,7,2,2024,1,4,Poupy,Physique -17,7,2,2024,1,6,Poupy,Physique -18,7,2,2024,1,8,Poupy,Physique -14,8,2,2024,1,3,Belaggoune,Anglais -15,8,2,2024,1,0,none,_ -18,8,2,2024,1,3,Rapin,Maths +17,7,2,2024,1,10,Poupy,Physique +17,7,2,2024,1,13,Mann,Anglais +18,7,2,2024,1,14,Poupy,Physique +14,8,2,2024,1,11,Belaggoune,Anglais +15,8,2,2024,1,15,Belaggoune,Anglais +18,8,2,2024,1,2,Rapin,Maths 18,8,2,2024,1,0,none,_ -16,9,2,2024,1,10,Chibani,Physique +16,9,2,2024,1,8,Chibani,Physique 17,9,2,2024,1,7,Oubaha,Maths -18,9,2,2024,1,6,Oubaha,Maths -12,12,2,2024,1,9,Chevalier,Physique -13,12,2,2024,1,6,Herbaut,Anglais -14,13,2,2024,1,4,Mullaert,Maths -14,13,2,2024,1,2,Belaggoune,Anglais +18,9,2,2024,1,10,Oubaha,Maths +12,12,2,2024,1,1,Chevalier,Physique +13,12,2,2024,1,14,Herbaut,Anglais +14,13,2,2024,1,7,Mullaert,Maths +14,13,2,2024,1,7,Chevalier,Physique 14,13,2,2024,1,11,Chevalier,Physique -17,13,2,2024,1,13,Chevalier,Physique -17,13,2,2024,1,15,Colin,Physique -18,13,2,2024,1,8,Rapin,Maths +17,13,2,2024,1,15,Chevalier,Physique +17,13,2,2024,1,3,Chevalier,Physique +18,13,2,2024,1,9,Rapin,Maths 13,14,2,2024,1,11,Carpintero,Maths +14,14,2,2024,1,4,Bouverot,Maths +14,14,2,2024,1,6,Le_Gouriellec,Anglais 14,14,2,2024,1,12,Boully,Maths -14,14,2,2024,1,14,Le_Gouriellec,Anglais -14,14,2,2024,1,13,Bouverot,Maths -14,14,2,2024,1,15,Carpintero,Maths +14,14,2,2024,1,13,Carpintero,Maths 14,14,2,2024,2,5,Colleur_Dinfo,Info 14,14,2,2024,2,11,Colleur_Dinfo,Info 14,14,2,2024,2,0,none,_ -15,14,2,2024,1,9,Boully,Maths -15,14,2,2024,1,12,Le_Gouriellec,Anglais -15,14,2,2024,1,1,Bouverot,Maths -16,14,2,2024,1,4,Mann,Anglais +15,14,2,2024,1,2,Le_Gouriellec,Anglais +15,14,2,2024,1,3,Bouverot,Maths +15,14,2,2024,1,15,Boully,Maths +16,14,2,2024,1,8,Mann,Anglais 16,14,2,2024,2,0,none,_ 16,14,2,2024,2,0,none,_ 16,14,2,2024,2,0,none,_ -17,14,2,2024,1,1,Poupy,Physique -17,14,2,2024,1,3,Poupy,Physique -18,14,2,2024,1,5,Poupy,Physique -14,15,2,2024,1,8,Belaggoune,Anglais -15,15,2,2024,1,10,Belaggoune,Anglais -18,15,2,2024,1,3,Rapin,Maths +17,14,2,2024,1,4,Mann,Anglais +17,14,2,2024,1,5,Poupy,Physique +18,14,2,2024,1,13,Poupy,Physique +14,15,2,2024,1,10,Belaggoune,Anglais +15,15,2,2024,1,12,Belaggoune,Anglais +18,15,2,2024,1,5,Rapin,Maths 18,15,2,2024,1,0,none,_ -16,16,2,2024,1,7,Chibani,Physique -17,16,2,2024,1,5,Oubaha,Maths -18,16,2,2024,1,7,Oubaha,Maths -12,19,2,2024,1,8,Chevalier,Physique -13,19,2,2024,1,9,Herbaut,Anglais -14,20,2,2024,1,1,Mullaert,Maths -14,20,2,2024,1,10,Chevalier,Physique -14,20,2,2024,1,13,Belaggoune,Anglais +16,16,2,2024,1,9,Chibani,Physique +17,16,2,2024,1,8,Oubaha,Maths +18,16,2,2024,1,1,Oubaha,Maths +12,19,2,2024,1,10,Chevalier,Physique +13,19,2,2024,1,5,Herbaut,Anglais +14,20,2,2024,1,2,Chevalier,Physique +14,20,2,2024,1,6,Mullaert,Maths +14,20,2,2024,1,3,Belaggoune,Anglais +17,20,2,2024,1,8,Colin,Physique 17,20,2,2024,1,14,Colin,Physique -17,20,2,2024,1,12,Chevalier,Physique -18,20,2,2024,1,10,Rapin,Maths -13,21,2,2024,1,13,Carpintero,Maths -14,21,2,2024,1,14,Boully,Maths -14,21,2,2024,1,15,Le_Gouriellec,Anglais -14,21,2,2024,1,6,Carpintero,Maths -14,21,2,2024,1,5,Bouverot,Maths +18,20,2,2024,1,4,Rapin,Maths +13,21,2,2024,1,9,Carpintero,Maths +14,21,2,2024,1,10,Carpintero,Maths +14,21,2,2024,1,11,Le_Gouriellec,Anglais +14,21,2,2024,1,5,Boully,Maths +14,21,2,2024,1,12,Bouverot,Maths 14,21,2,2024,2,4,Colleur_Dinfo,Info 14,21,2,2024,2,10,Colleur_Dinfo,Info 14,21,2,2024,2,0,none,_ -15,21,2,2024,1,1,Le_Gouriellec,Anglais -15,21,2,2024,1,9,Bouverot,Maths -15,21,2,2024,1,12,Boully,Maths -16,21,2,2024,1,11,Mann,Anglais +15,21,2,2024,1,1,Boully,Maths +15,21,2,2024,1,13,Bouverot,Maths +15,21,2,2024,1,13,Le_Gouriellec,Anglais +16,21,2,2024,1,1,Mann,Anglais 16,21,2,2024,2,0,none,_ 16,21,2,2024,2,0,none,_ 16,21,2,2024,2,0,none,_ -17,21,2,2024,1,2,Poupy,Physique -17,21,2,2024,1,3,Mann,Anglais -18,21,2,2024,1,4,Poupy,Physique -14,22,2,2024,1,5,Belaggoune,Anglais -15,22,2,2024,1,7,Belaggoune,Anglais +17,21,2,2024,1,6,Poupy,Physique +17,21,2,2024,1,9,Mann,Anglais +18,21,2,2024,1,12,Poupy,Physique +14,22,2,2024,1,7,Belaggoune,Anglais +15,22,2,2024,1,15,Belaggoune,Anglais 18,22,2,2024,1,2,Rapin,Maths 18,22,2,2024,1,0,none,_ -16,23,2,2024,1,6,Chibani,Physique -17,23,2,2024,1,4,Oubaha,Maths -18,23,2,2024,1,8,Oubaha,Maths -12,26,2,2024,1,9,Chevalier,Physique -13,26,2,2024,1,2,Herbaut,Anglais -14,27,2,2024,1,7,Mullaert,Maths -14,27,2,2024,1,8,Belaggoune,Anglais -14,27,2,2024,1,11,Chevalier,Physique -17,27,2,2024,1,13,Colin,Physique +16,23,2,2024,1,4,Chibani,Physique +17,23,2,2024,1,8,Oubaha,Maths +18,23,2,2024,1,14,Oubaha,Maths +12,26,2,2024,1,11,Chevalier,Physique +13,26,2,2024,1,6,Herbaut,Anglais +14,27,2,2024,1,4,Belaggoune,Anglais +14,27,2,2024,1,10,Mullaert,Maths +14,27,2,2024,1,13,Chevalier,Physique 17,27,2,2024,1,15,Colin,Physique -18,27,2,2024,1,9,Rapin,Maths -13,28,2,2024,1,3,Carpintero,Maths -14,28,2,2024,1,4,Le_Gouriellec,Anglais -14,28,2,2024,1,10,Carpintero,Maths -14,28,2,2024,1,11,Bouverot,Maths -14,28,2,2024,1,13,Boully,Maths -14,28,2,2024,2,9,Colleur_Dinfo,Info -14,28,2,2024,2,3,Colleur_Dinfo,Info +17,27,2,2024,1,1,Chevalier,Physique +18,27,2,2024,1,1,Rapin,Maths +13,28,2,2024,1,14,Carpintero,Maths +14,28,2,2024,1,14,Le_Gouriellec,Anglais +14,28,2,2024,1,6,Boully,Maths +14,28,2,2024,1,9,Bouverot,Maths +14,28,2,2024,1,7,Carpintero,Maths 14,28,2,2024,2,15,Colleur_Dinfo,Info -15,28,2,2024,1,1,Boully,Maths -15,28,2,2024,1,14,Bouverot,Maths -15,28,2,2024,1,6,Le_Gouriellec,Anglais -16,28,2,2024,1,10,Mann,Anglais -16,28,2,2024,2,0,none,_ +14,28,2,2024,2,9,Colleur_Dinfo,Info +14,28,2,2024,2,0,none,_ +15,28,2,2024,1,2,Bouverot,Maths +15,28,2,2024,1,10,Le_Gouriellec,Anglais +15,28,2,2024,1,11,Boully,Maths +16,28,2,2024,1,12,Mann,Anglais 16,28,2,2024,2,0,none,_ +16,28,2,2024,2,3,Colleur_Dinfo,Info 16,28,2,2024,2,0,none,_ +17,28,2,2024,1,3,Poupy,Physique 17,28,2,2024,1,5,Poupy,Physique -17,28,2,2024,1,7,Poupy,Physique -18,28,2,2024,1,1,Poupy,Physique -14,29,2,2024,1,12,Belaggoune,Anglais -15,29,2,2024,1,14,Belaggoune,Anglais -18,29,2,2024,1,2,Rapin,Maths +18,28,2,2024,1,7,Poupy,Physique +14,29,2,2024,1,8,Belaggoune,Anglais +15,29,2,2024,1,2,Belaggoune,Anglais +18,29,2,2024,1,3,Rapin,Maths 18,29,2,2024,1,0,none,_ -16,1,3,2024,1,3,Chibani,Physique -17,1,3,2024,1,5,Oubaha,Maths -18,1,3,2024,1,6,Oubaha,Maths -12,4,3,2024,1,6,Chevalier,Physique -13,4,3,2024,1,5,Herbaut,Anglais -14,5,3,2024,1,8,Chevalier,Physique -14,5,3,2024,1,10,Chevalier,Physique -14,5,3,2024,1,15,Mullaert,Maths -17,5,3,2024,1,12,Colin,Physique -17,5,3,2024,1,14,Chevalier,Physique -18,5,3,2024,1,6,Rapin,Maths +16,1,3,2024,1,9,Chibani,Physique +17,1,3,2024,1,13,Oubaha,Maths +18,1,3,2024,1,5,Oubaha,Maths +12,4,3,2024,1,12,Chevalier,Physique +13,4,3,2024,1,13,Herbaut,Anglais +14,5,3,2024,1,15,Belaggoune,Anglais +14,5,3,2024,1,14,Chevalier,Physique +14,5,3,2024,1,6,Mullaert,Maths +17,5,3,2024,1,8,Colin,Physique +17,5,3,2024,1,2,Chevalier,Physique +18,5,3,2024,1,4,Rapin,Maths 13,6,3,2024,1,8,Carpintero,Maths 14,6,3,2024,1,11,Le_Gouriellec,Anglais -14,6,3,2024,1,2,Bouverot,Maths -14,6,3,2024,1,7,Boully,Maths -14,6,3,2024,1,11,Carpintero,Maths +14,6,3,2024,1,15,Bouverot,Maths +14,6,3,2024,1,12,Boully,Maths +14,6,3,2024,1,10,Carpintero,Maths 14,6,3,2024,2,2,Colleur_Dinfo,Info 14,6,3,2024,2,8,Colleur_Dinfo,Info -14,6,3,2024,2,14,Colleur_Dinfo,Info -15,6,3,2024,1,13,Le_Gouriellec,Anglais -15,6,3,2024,1,10,Boully,Maths -15,6,3,2024,1,4,Bouverot,Maths -16,6,3,2024,1,15,Mann,Anglais +14,6,3,2024,2,0,none,_ +15,6,3,2024,1,3,Boully,Maths +15,6,3,2024,1,1,Le_Gouriellec,Anglais +15,6,3,2024,1,2,Bouverot,Maths +16,6,3,2024,1,5,Mann,Anglais +16,6,3,2024,2,14,Colleur_Dinfo,Info 16,6,3,2024,2,0,none,_ 16,6,3,2024,2,0,none,_ -16,6,3,2024,2,0,none,_ -17,6,3,2024,1,1,Mann,Anglais +17,6,3,2024,1,4,Poupy,Physique 17,6,3,2024,1,3,Mann,Anglais -18,6,3,2024,1,4,Poupy,Physique +18,6,3,2024,1,6,Poupy,Physique 14,7,3,2024,1,7,Belaggoune,Anglais 15,7,3,2024,1,9,Belaggoune,Anglais +18,7,3,2024,1,7,Rapin,Maths 18,7,3,2024,1,0,none,_ -18,7,3,2024,1,3,Rapin,Maths -16,8,3,2024,1,2,Chibani,Physique -17,8,3,2024,1,12,Oubaha,Maths +16,8,3,2024,1,10,Chibani,Physique +17,8,3,2024,1,11,Oubaha,Maths 18,8,3,2024,1,14,Oubaha,Maths -12,11,3,2024,1,7,Chevalier,Physique -13,11,3,2024,1,12,Herbaut,Anglais +12,11,3,2024,1,11,Chevalier,Physique +13,11,3,2024,1,2,Herbaut,Anglais +14,12,3,2024,1,4,Belaggoune,Anglais +14,12,3,2024,1,5,Mullaert,Maths 14,12,3,2024,1,13,Chevalier,Physique -14,12,3,2024,1,3,Chevalier,Physique -14,12,3,2024,1,3,Mullaert,Maths -17,12,3,2024,1,5,Colin,Physique -17,12,3,2024,1,15,Chevalier,Physique -18,12,3,2024,1,4,Rapin,Maths -13,13,3,2024,1,5,Carpintero,Maths -14,13,3,2024,1,7,Carpintero,Maths -14,13,3,2024,1,8,Boully,Maths -14,13,3,2024,1,6,Le_Gouriellec,Anglais -14,13,3,2024,1,9,Bouverot,Maths +17,12,3,2024,1,15,Colin,Physique +17,12,3,2024,1,9,Colin,Physique +18,12,3,2024,1,9,Rapin,Maths +13,13,3,2024,1,11,Carpintero,Maths +14,13,3,2024,1,12,Bouverot,Maths +14,13,3,2024,1,12,Le_Gouriellec,Anglais +14,13,3,2024,1,1,Carpintero,Maths +14,13,3,2024,1,13,Boully,Maths 14,13,3,2024,2,1,Colleur_Dinfo,Info 14,13,3,2024,2,7,Colleur_Dinfo,Info 14,13,3,2024,2,13,Colleur_Dinfo,Info -15,13,3,2024,1,1,Boully,Maths -15,13,3,2024,1,4,Le_Gouriellec,Anglais -15,13,3,2024,1,12,Bouverot,Maths -16,13,3,2024,1,14,Mann,Anglais +15,13,3,2024,1,4,Boully,Maths +15,13,3,2024,1,6,Le_Gouriellec,Anglais +15,13,3,2024,1,15,Bouverot,Maths +16,13,3,2024,1,8,Mann,Anglais 16,13,3,2024,2,0,none,_ 16,13,3,2024,2,0,none,_ 16,13,3,2024,2,0,none,_ -17,13,3,2024,1,8,Mann,Anglais -17,13,3,2024,1,9,Poupy,Physique -18,13,3,2024,1,11,Poupy,Physique -14,14,3,2024,1,2,Belaggoune,Anglais -15,14,3,2024,1,10,Belaggoune,Anglais -18,14,3,2024,1,11,Rapin,Maths +17,13,3,2024,1,1,Poupy,Physique +17,13,3,2024,1,3,Poupy,Physique +18,13,3,2024,1,5,Poupy,Physique +14,14,3,2024,1,10,Belaggoune,Anglais +15,14,3,2024,1,14,Belaggoune,Anglais 18,14,3,2024,1,0,none,_ -16,15,3,2024,1,1,Chibani,Physique -17,15,3,2024,1,13,Oubaha,Maths -18,15,3,2024,1,15,Oubaha,Maths +18,14,3,2024,1,3,Rapin,Maths +16,15,3,2024,1,7,Chibani,Physique +17,15,3,2024,1,7,Oubaha,Maths +18,15,3,2024,1,8,Oubaha,Maths diff --git a/structure.c b/structure.c index 3250b0a..788994f 100644 --- a/structure.c +++ b/structure.c @@ -463,9 +463,9 @@ colleur* import_colleurs_oneweek(char* filename, int n_colleurs, int n_weeks, in expand(res, c, n_weeks); } - printf("Imported colleurs with no problems\n"); fclose(ptr); free(word); + printf("Imported colleurs with no problems\n"); return res; } \ No newline at end of file