From ef135a95e072765dc015b747b797a5fa393d2eb9 Mon Sep 17 00:00:00 2001 From: gallego Date: Wed, 10 Sep 2025 17:24:19 +0200 Subject: [PATCH] TD1 --- bubblesort.c | 5 +---- compte_rendu.txt | 8 ++++++++ gmon.out | Bin 0 -> 3820 bytes heapsort.c | 8 +++----- student_rank | Bin 0 -> 21840 bytes student_rank.c | 7 +++---- 6 files changed, 15 insertions(+), 13 deletions(-) create mode 100644 compte_rendu.txt create mode 100644 gmon.out create mode 100755 student_rank diff --git a/bubblesort.c b/bubblesort.c index a848827..07d8232 100644 --- a/bubblesort.c +++ b/bubblesort.c @@ -1,6 +1,3 @@ -// Bubblesort Algorithm -// M.Menault 2024 - void bubblesort(int* array, int length) { int swapped, i, tmp; @@ -17,5 +14,5 @@ void bubblesort(int* array, int length) swapped++; } } - } while(swapped==1); + } while(swapped > 0); } diff --git a/compte_rendu.txt b/compte_rendu.txt new file mode 100644 index 0000000..11942b7 --- /dev/null +++ b/compte_rendu.txt @@ -0,0 +1,8 @@ + Flat Profile : +Temps et nombre d'éxecution de chaque fonction. + + Call Graph : +Voir arbre d'appel + temps et nb d'exec par fonction + +Fonction la plus lente : bubblesort +nombre d'appel important de bubblesort dans find_rank_student \ No newline at end of file diff --git a/gmon.out b/gmon.out new file mode 100644 index 0000000000000000000000000000000000000000..db395a53e22ed7942fe769ccb8361322d06bcb24 GIT binary patch literal 3820 zcmYe#&Cg?GzyVsMArep67#LC*7#NCElk@XZiXnmw3~&ZaV3ZyWfzc2c4S~@R7!85Z z5Eu;s(nEk5O$$07O?s5ez`(!+4FyOu4#eYUU_}y#O4FGFxdRe=AQr@O5MPdgodHDi zGng<`GYBwpZ?5k*4$%E$ns8Nt4Vg##mlF%}a*>L9{QVAUWObU_3d zSim$)1%zkM05KaZHA-NF01G%2LBgPrWPpYtgbj-cSiHkT*+I&|F$Q5VFffBd8KMpp z{!Cy#Og&gRSOmlZ$%AMHun7Z{ji7~-*1BizkquK#+0VL)@dO$3QxeyX02EwR3 zkO(#mQUx;~QH0Ae!Kt`+=wjr04lf)svWFSK^&qzMi@ea1r4wX3P7Fm c6Ds*y+=YoT0Znj%_-`i0189ODc7A0A009>ts{jB1 literal 0 HcmV?d00001 diff --git a/heapsort.c b/heapsort.c index 668f4b7..9c983ea 100644 --- a/heapsort.c +++ b/heapsort.c @@ -1,5 +1,4 @@ -// Heapsort Algorithm -// M.Menault 2024 + #include #include @@ -47,13 +46,12 @@ void heapsort(int* array, int length) { int i = 0; int temp_value = 0; - - // Sift the current array (binary tree) + for(i=(length/2); i >= 0; i--) { sift(array,i,length); } - // Heapsort ! + for(i=length-1; i > 0; i--) { temp_value = array[i]; diff --git a/student_rank b/student_rank new file mode 100755 index 0000000000000000000000000000000000000000..3ca874c156dec07861b0fa38024020dfab3e31da GIT binary patch literal 21840 zcmb<-^>JfjWMqH=W(GS35buHjM8p9?F$nlT84L^z4h$9y{0t5ZsthU&YzzzxEMPH+ zJWM@|_F#sH!)Oi&mjNUU()R|$U|?WCr)8k(U^K{0AR!P9(g$K=!w;Yqz-R`jKS26e zK^mZZm^h4Xi7{eQ8_D z$9em?eokhRnTdW*if&G3UTKAHg@u`}nTcL;zMc^{&x7m&VS=7TQUD4gAtXMGsl>p* zfKA*Qhxj}O26)zjnE|3f?!jhGCJu8XaESZj5C>&@Z02j>P;Y`mJPC(*0S<9}9OAoh zghMa`0|O{bL1BW7{cxDWP*7S@%#c=;n#vF#pPQdoT#{H+Qd+}%EMWlY2PG>r26rD%C+B!0J!2C%(@4*hA>K2@ zH$Ek`C^bE^xFoeG#Me0|KQA>TF)1e%B8OFmfq{vEiGi7c5ln;F$QU9DB5N5KV8toJ zmWk8YK)IqFDpo3$$q6!N5;PED-+}(4q+}C4eLjDx1K93=9ksNa7$r!^9Pk#9?6slG8vE=K={pu>q1e zC@(^V87z>*d0>K|auZ3M4@ukuNgNtgNV22M(GVC7fzc2c4S~@R7!3jB5cte5_sgUC z4TncB>qiC#29MSQB~1S>cr+j3I1E)p=(cUwV_=AVsmR5^Faf0hFv7SA9=*1L z`V0&ny{udy%JN5vs7E)eA4p&8ffCOD5BTL9Ko%c{(jL9G4?&W>rnf+p=0A_l4;}~K z*?S!P!R*0!%;Vy}5)qGXR$Y)}>wyxE{}0mms4jT{G70LEs%xUy};q1>0oo1p*mmdb-TX6 z?lQ2C4nAV?V7zdg0hHR{?z>QPs@e4gW4G%IkXyTv-RjZ&M&X4E*oxX0ouyBXyZ(W= z6HL8U?solyV%rNyIDmp+-k<;fn_d4fcDw$uc70NFb;1OQ_rXSf`~&tq$jHvn2T)Tz zdRZNL7#KjB8~^Vq4StW=k*;R7re;-^Z!3c0y!3-ws(gO|IXSs9-XBRIzwL^cl`khA*c(wU0*c6VC;1L z^I8jLV=KrF9^I}FJQy!@Gg!L5Ddp~VeWC68r_=SvYp&+pKa9<_e;6t+bh{!&y2XoM zzro(V;n7)op)>SMr|*g5t`9&)9d~^Kp}@SCpwR7hJp)OMpzzoT*68{Istyz;Pf!B> z0wmzOLmz+y*yJvW_xspzVKi?)y>e!)a?3%vD@{DwdV#;kIr+Q$6vJn z`~Sa_8Oae-K`sD!GwT;9%{*Z2c70&&dV;^_$G`vo(UPOVi><#vQFR9th91XVKY;yq z-1P^DhPoY^f1r7yx%LiAiG~L#FLg6`^op`_fsz0sC8_@U|9=N4x?hSjf{H}f3m(k} zI6S(+2{8g>nd=j$>3o`pd=Q)t#kl+9R!^M6;#7=?4d|!Zqxx4g(N4M(_kjj;R|Nn2UeZx?q0ap(- zVA943U)nm zanQ~BR)c||H-NEI^oa(j!Vvw$fs$Dd{Xk@A1N1xu%C+E#IftsL_Xj93z;o}3{h+?~ zi|`+)8Fx9zwVhzsbcR0Yc74(b4s6B)%?B7eUB7g@K50I{$atXB^#?pRf3bFbP;1uh z`URYWU|AXL3;|FW%<$;tK@vUD&0u+`j;-7E3)tu%P~AUB)cpgj`-8RXlagXcYUmX~ zvgJZIL#OK>sP(84xUw-8#fQ3G|8z2ShkgKMKTx&?r>pazY=jhp#os}R5*%jmi~}li z7(l^y=-?}P#tRpJfJ!on?$9UQzCS?O6OtNR|NZ~pocn{Zx%LM`ymp@exKq9RisLDu=*y=$}r3?ohBD`#^aZlmz9Ftf^muQgdwohU9jLqgj*Hz)c?M zzn@~{TO?fQhjC-y(6T=~Ml-|z4rRP>%iYF>fchaTOcZ&er=48Q$XjRj4Y zfZAB#HaEPL4f63Q9u0xf5Eu;s`i1~#z64~WE>^%0TvD2nnpdKrnxbF@o_P%|PE1c# zuu@PhRhE(|3AXO zz_8-O|No#aK;y^%{}mV+7`Q+E|L?-cz_9((|No#739iro|93DlFwFk^|Njb5ZSv*+ z{}YT13~pcl|9`{Cz;Nu_|NjC^3=ARP|Nl2&Vqoa_@&A7S69a?G&;S1mm>3wI{`~)c z0uuwniC_Q!!{+HhbF857Vyp^cV5|^el;&aQn7{~`Zvw4VXn6nsKe#@1VHW`LL36ru z-v9p(o}LKg6KG?K=4JCc#>375(G$SHz_922|No!?5Rkc``XPmZfuZ9a#IFo|0&aW~ zUi{qU91RTiQr23=D&T2AP-OHlFfc@Z`2W8Pq|p&%wlgoAYcn%b1K4=*d@3ls_J8>Q ze+{~tMG!S0H(p_2U~vEV|37GskpX57lOI?CNFG!nSAG2de}v*B}4? zPeqYW0Lz2iX~M|BVDRbxe>YGZz|41TW@ffwgsX{QWMByT{QrLgvKr=Uhyn%%29P^y z7#SGWefj^t55=BNuo)ovIgAVpGGG7y2iXVr2eUrd43PXDkUPHp|Gx)C|8}_kJB$nr zXTJUazYs-!4qW~ZBLjo)_y7NIpvYea%Y)|FWSAHj1b+PgFAS20;z#$GSeY4qfamo= zZE;X|fTTciyyVUQ{~&#!GzA(k1Bowq^Z)+>1_lNx2GA@e1A~A714GPPX!?P!wE?N? zcne80pgAy5kb%Uee23T#$}=!A24)UHR)G&XECL^_m^m1rNPvx5f`OTXn^^!%fHaeV zL4$Z8_k-*LtvLW00TKgY5PKAlhQMeDjE2By2#kinXb6mkz-S0iKLlXw)nMz>Ky5LQ zEub}UAR4}Q3e-?zU|@i)9V?Lr$uclVLMR5189O3Bn4`Rf@s)!I8Zwp#D~d$ z{r5i~%!fAmVEvdIPzGos7bLF%l?SzfL3~i314P5te1X<&g7~5!0ttgAjzQcP(DiJv zb~1PhgMono)OH5RgC>YUv^a=hU|{$F6@XF<3{VEl-7x*2iDQr!nEk*1L;M3;5(g6h z2jyRYdgMQp4-4lHQ2rXI{7)z!=5CM~g8{?VkE6TA44N+7pmZ3NPJ_~AP`V9DPlM9S zp!7Bo*0tWC0T&NQo3k4z!|xK@ha&gE4{?WbZv_E(Lei85kHC=genhU|?ipWMGKk11Vsd z=)=ej;z@%fm?k=~ZenC$h~i!XGHzl5Ya;^#Lo}3^!5YE9z!1X;(HFw%#lXN23*|+y zE@xz5h=cNC7}!9LU<3J;-HVZd!F2{S`-4Xozz(rsVqjndx!hF>Vwndx23_?bJO@TO zkUnRSWy}-z)H4czxDgQUj(V0%26w1s0W4Vz?gAhQrimd!=b#pWq8Ai$tbL3O3|{;o zmoQC?U|b;^a@11>1_o1Uh=DPTpd@9g578e0c9f|jL@t8$ z3?l=BIn)^$ESU@zP<9RjJ1D7WE)oVgfq?-$9s{=E6UYLPpr!)EpAldqHBBH!hJd}P z=?UQluw*i5BaA%A$iSfB4>b}z1OztHoEft2g+W0a*+>O#h#?^?nG8w@LsA$S7=#u> zGcS0o32ewTm?1*a5JNn`?h?|67~%qUmyipD=fIN5AObZqf+dSV6v~ca5NQR4E(aSd z4}u50z!rcbmqP~Ga1H~AaS+2fTp>J=;aqS78B&=b`8=GFfq@g8&p`|IL6L%9qS!Do zFfc*#ITIwGGeL4W6C{^2L2@}0B$snRayb(umveA~G%t{f2jw_OX6G&f zp)^oVtppVg*BBWX*ld}2Kv{wJDu`px#Je7}9|V*e8Tg)oiU1$}ItB&?(DE5p5W&C# z;_`#CJ8K>zSnDH@4p8U_FtCC0w!#9{j zRx?cuVb5f6f-rNK6`2?qoCQEUPUZyg2qwtEAU+$YOwv_=nhqXN1DiexX1cBjvgx|= zAWaa{^&!j*=G&m*I8F#Jhk@-iBLjo*8)$hB9>N2gC^ zFx2${%pyz-45Cm&6PQ0RGBAiic`3}l7#SGEp*)E75>Q?agCM9VWn^cAML&3q5$pg) zkmc;+Fv~%K#jXUkoSBu0fq@emLOIY7V$WpYg2?AEFw6kO2m>QW5h%vN32iR}1Gqv# zuZkWsGcd52fPBlyhAziA2jm{GOT<7dSga|6Ok|oE!m0z($IJ%drZ8nP@I#mxOeMJm z3_=i24g(tph{X;`qzsI#49t91ij3CWmfW7gOcD$XOsou^!VC<|Dh%A*cHGQ-AQv$( zbD*eUH9^|n1v&!*FVteFAS9@8g)ORDSgZ+vf*dV$Va`Vm8bwBUl7o3jkr^h$jOhaw zxOLzNgBS^k2uON_dLNXCLCKLDoEj0{W&pJdSQ$7NK-+p485w``@iH(nf?8jo#hr|d zjPgvN!rvWSP|Gv%BQ-xmK=mr91ZM;_J{VaU8913>6_FGxCr2qOS1BuN39GCDt6>DI zfETMQM+B<~0}~5l6RVmnD<_8ys{#WP3-fzcK9HanD`R^rNE<$Ve73BdC9Kj0ta2P_ ztV$<9+EZACAlgBOG1bEj>jD{O3w48x0m8mja3yWNtehO_tgNN1Tu(tRWint@=4eK! zgu9Hjot5#aJxFmWD|ZjYK_16FR12v)HuR^KkVR>%JSSL{IlNc}^jMWaKG9+2hnT?G#>&AV z3{vQ9!0N`4#;SaRRZ5RlmZOAK`5LPtND+q+njWS$Ruzylm`irS0)&y7Z&xcTH-~LA zD`#_QDJy#!D`y6)0LMvIg$1nQO{{X)Sw)*zrLVIJHL=RwU^R(gmGfei-OXwo!7A&; z%DS7wmcx#fog<2sGlRpHm6gMuLzqK&H!II>R>nvsCI&{v#f+fF0tbUXC*`V|yZ2&fgFOpS~!-iETO`nx>BC9Oe{pPIV z5S5I%p!8_V%2CeBp2o`S!^%IOl@la24{Ue|tB3)_VP!S-CkJSUE~rnM+uC zqFDJRu=04ZN={&9=d>$qKr;iABj7wvbK33cBeEx`}zknF_iE3_1CE>0pO~Elh(sCLZiN z$kx)*yyDFCywns0@RrlWqV!~j#G>>vm@gnJ31AwF<6(So5Ww|^c-P;0nMFEM`c{%u4|W2+TYN@H&Nf&^iT}n;@Qngc#JG zg8bsllFWSA_Sllt+=BSB#GKMp$d=mT%(N1QoYb_E_`Lj-REDC=^b9ByvT-&(9<=i| zzJwtsu_!&Y7%G>RSyWsSpPZPJ!%$qFSWu9f!jM#&l$4VS@-N&mAfM?aGw7#Q6yz6` z=x5~Trs^l=85!%RC+6g&rswOsxQ3bP8S00)7{-H`hVg-=i8+}isqv0E>G=%$rNu@1 znR&@Mr75Wlun^S)rJ|Ia%p?dSGhZ(QA(xDzM?WdEq!?2~zofDtwU_}+>ScgKA-)94 z(91ybhh8$MPQ{8r9Xb|W?*0d z4NqY+hXvH}XX0f@07V1?0|Rs%fdMr7BfucZkb-885J)`(F9WR31NCM=c7TRugqZjk zVB^vtF%VXPs)x0>K%HBVIH-e&%{}g*wKzRC=wXQ zNWf){O(2In;5YyRbaDk;EyxP!sS@$2DTyVCC{;b^G>S}wqoMUVq#1%@M0|W|MQUXK1|NTcA`%}DathQSW#vkN(4ip36kqc>jrk12ulprM-lrua~G=feCK@k8oMqrJlVutwm z5MSqbS3j5dcxddPwmHG4ePBJ&1NBG|6f5F0^D;{q81#xOb4wDF81#xuiXe0bjFp#P zlB$=USE^S~lwXiqR8q;H2Ny~z&CE&B%}im?%gifDEh=CDE6hkN&S20>smv>`%!SY; zMG%>?)S_ZgQx2>Q%84&x&?`#KNd#$tvI=raKqh9EFzA5;PcJPqFOxy9C?Av@81zyz z;?s%}b5r9pQi>2f2EAgiDAak5PM*3YiRln?pa~Fc4vd{rnU|QGnarS0vHV%RR`&V)sNtrLXZFygC&pq4dgjvD5E*t|51 zR)H#nxgVwuMuUbcKy%(OK5X6_MuXbVAS2M-4-y06de963lKWxv?l2lQ?+&vc-T$3X z{Z1gmkmm7W^ZCg7L1Bije=;=wLGA+^0qQt_7*HCNK0#aSuw{9!x*1-+2M5A9n5^NDZ?6 zu=EGo-3N+4n10x~R2x7CjxjJWSb#JkVVJvNG-ya1SwE~F`vR&TG<1oi9Ugx${am04 zKxi2TQU~it20#lA=-fC+3XEa;z#LG1V1$G*%>A(bV+vG1d_5CX1A6)sh1w5Q4pqg# z0Mn12|3Q8QDT2|UekhC$5{Kb>sDYql(@CKH!AzTdop#CqqnINSvtUx3KLpxf4p{oss+7I7Nf;mcqcm02&v7sRhyK`T;=**=7I$ literal 0 HcmV?d00001 diff --git a/student_rank.c b/student_rank.c index af84003..d58080b 100644 --- a/student_rank.c +++ b/student_rank.c @@ -1,5 +1,4 @@ -// Student rank -// M.Menault 2024 + #include #include @@ -55,7 +54,7 @@ int find_rank_student(int student_grade, int* grades_array, int students_number) { int position = -1; int i = 0; - bubblesort(grades_array,students_number); + /*bubblesort(grades_array,students_number);*/ for(i = students_number-1; i >= 0; i--) { if(grades_array[i] == student_grade) @@ -77,7 +76,7 @@ void sort_students(int** students_rank, int** students_array, int students_numbe { grades[j] = students_array[j][i]; } - bubblesort(grades,students_number); + heapsort(grades,students_number); for(j = 0; j < students_number; j++) { students_rank[j][i] = find_rank_student(students_array[j][i],grades,students_number);