From e1ef5fe3bf69401774c079dfb9de562916b99f9d Mon Sep 17 00:00:00 2001 From: malric litiere <litiere@unistra.fr> Date: Fri, 31 Jan 2020 14:44:17 +0100 Subject: [PATCH] End function triInsertion --- TP1/Makefile | 7 +++++-- TP1/main | Bin 16488 -> 16792 bytes TP1/main.c | 15 +++++++++++++++ TP1/main.o | Bin 1208 -> 1688 bytes TP1/tris.c | 26 ++++++++++---------------- TP1/tris.h | 4 ++++ TP1/tris.o | Bin 920 -> 1400 bytes TP1/utils.c | 9 +++++++++ TP1/utils.h | 4 ++++ TP1/utils.o | Bin 0 -> 1592 bytes 10 files changed, 47 insertions(+), 18 deletions(-) create mode 100644 TP1/utils.c create mode 100644 TP1/utils.h create mode 100644 TP1/utils.o diff --git a/TP1/Makefile b/TP1/Makefile index a3647b0..851e4b2 100644 --- a/TP1/Makefile +++ b/TP1/Makefile @@ -1,10 +1,13 @@ -main: main.o tris.o - gcc -o main main.o tris.o +main: main.o tris.o utils.o + gcc -o main main.o tris.o utils.o main.o : main.c gcc -o main.o -c main.c tris.o : tris.c tris.h gcc -o tris.o -c tris.c +utils.o : utils.c utils.h + gcc -o utils.o -c utils.c + clean : rm *.o diff --git a/TP1/main b/TP1/main index 0959b206f91551144dbd06392129555ed1c6dc2c..f2cec69342b07a11fc059b2a84a1454851c91dc6 100755 GIT binary patch literal 16792 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 CS?Iw4 delta 2498 zcmZ`*eQZ-z6u-BxkF}*`?Yi!@8>6o?*v+wi4fffOS0&4v;bZ7#78D2wL=p`f4#SMN zEfW)j$;Lq=CLlzO#%MA!h~PgA@gqiKwisiGCUyprnrPSziTa1sbKkp{xGvtL?|0Ad z{O)=8+<WeQePfj7hv~RKthtHNG!sZ|EAJp^q=hWUXEj+lk(sc^WYZO!xDj=np{8+$ zLK%%@b#4kIJS?M^;m;p2<^J?ybX&L$BUB01a#bx?37q87C*ca+9I~qBm|{$tG)Y38 zWpmB{y)n;Y<te;r+1l{<mm9+eHo1oOS{k<=?|A)A%i44en-j}bOrDStBeV=5DNI}7 znp6d+q;lE~J0%6)m;CZ_^w&VvQf_~G->xSk&+d;jf!%u0iL{v@KH-?Px^s;Y2-kyW zXydl(F*|AzpX2MOYNr359u}<L08hnm<uay%t+oZKWyK|#gz=mQkE}qi?1U|G@6@pO zE5}K9V(8N-A$!M#EdG1v(b?_#(O>k@oAX`W8^+`|e1SgZ`VJNPSn3)=!S@`Fxl<Zk zZ%`M|(8uHt7_|O1;M0%En^^zI^nksPD-8~_*w;B?h!I1-?s*1vcVX6Dv3@nz+X}h8 zMpz*qPG!+W4n}+Q(bO{5)sNm9aO%fWHE84;3WY-cDSUh(2cX`ws^l_z*S6~?y}k-u z<sN;kVFvNh4RyEl(cf(Ox9?8Xd%t&1P0BO$q-t%YRZ@Ekj$rGxa=uV_32_bLhlokU zZp6?+q3{{w5pN<MM_dCv>U}f^gKAVBzg;M};UlyU!K|v(^x!yF3M9M2{j%jD*Rl?0 z3EMGTEb;>Ww0U?q^q`%E>_sV^>i3>-!lb;xA@)D#hCdo2iBr5B0;pt7luMOq5>W<~ z+*Z@@NF+k1VI&fyhv9sr*<Qk3ec*{^XcugW25B1lqbDr2X{^*$RE2o#Dh^qQDd-5r zeUgoIAu6=bupC&jBXJ*H4nuK8a*`NY3e^}FSV6=L`CAN-NGbe`S~s!6oS~hI`#Q_+ z&3>`gOGL3R=F5pV_KSHR>`y3C1<vYx!Y3)j&k)WgDq$uOkzAw?Xrph)Mb7afBSwd? zV<9dgj*{S;u|tWU)M_Rp4pWE0FP+^p$g?<NtISb^3>tc#CA`+y4!MLMW*V(BB_6UK z>}$hA7Y%XQl8iq$#xBkHTdo)TZkYI(Gdj4ws$fjKgFp$cjkcISi%D6C;{hV>W8rq7 zqYRT7=Y=McuY`rQ%Es+zssxv~C|ncrZsf(1iD>1>msyq;MT+rQY~H{Vd}MLNee8Wh zhtTV>C`8<HBJL5!lTtPrqglD*6!L8LF+TfkoS#N?<CexWPH@=8^%^gYdd|OtJnG@& zb)Go;#;};Hc}(LRqwW&&Y;MIlUt=?ue?+fw@xyG>yYOQ3K*^5I?u|Qk?}1!Pg}i6? z&Vij%kF{tN&b3~KE{k=lw@syV90uE?o@stT3p@<72`_xpzS5KCi3)VW-|bO*7iYU5 zo@}=FajOsdllAaZGD&YjAQiNU>W8_cQb}IH3~-9ZEyt3Mad!;*Q{fsY@{08lxP`(e zsa2uVMKW>r1=`_CThRU%SCv61txQ~W$Hi_5e2)w8TWB;<!~&BnOx>j-m8P0%fi{*7 zYmjYMDz9Q^1^&dhP8=A21P-L`ulyQaSU&gM;>J-8cjyOnvHM?)78j5BA2JDpnIL@? zPG>TB<KMu(9|lvwz^^!lO+$<mRqcnk7M5?L#|G6}6&%vkfO#}=<&phwtAz_%#;0>S jFPlDg!8d@Mt#`zlOy*AtZP_M!n0>3T{bLl#@iynbS-Nns diff --git a/TP1/main.c b/TP1/main.c index 1394ce8..33eb5c7 100644 --- a/TP1/main.c +++ b/TP1/main.c @@ -1,5 +1,20 @@ #include <stdio.h> +#include <stdlib.h> +#include "tris.h" +#include "utils.h" + int main() { + int T1[5] ={3,2,5,1,4} ; + + int T2[8] ={3,2,8,4,1,6,7,5} ; + + affichertab(T1,5); + printf("\n"); + + triInsertion(T1,5); + + affichertab(T1,5); + return 0; } diff --git a/TP1/main.o b/TP1/main.o index bec93ecdf5ed2e1f094258621f16b474617ce573..8464bcd59095a6d7cbc6b806c1654117a496018c 100644 GIT binary patch literal 1688 zcmbu8L2DC16vy9YV-syEQ9KA$2neEJ$BLk#2iY{;BuX%#?ZH#rtQ)fEZp!Wou@?`5 zP(<+P!IKxif+sB~M8Sgx4<0=9px8qXdKc<@voq;rv$^QM%)B?hdGF2a%k-hytYtI} zq%^n!`zuKSp6mO*!CeCiFbivq%^!_NyT;Jmrih{WJ;Tk;0d97w*3kTw<z_1mc^`*- z$aDB9-uoO!ewpF$YmS?5RHgCM+<wEI&EXEN;q4)uxHqvi0bWzW$9GV#R+ma=R-BG& z`K2<u$QBnaosAuefMa|H&^B&>HYjTIg<Sp_Ug-pK8l+b=RSp*)XR32EnU@$rAYJq| zS@^w|wyURh7(mCrH0f9=O*&AsCZz*)Z&Er?7so}Pa8$Vu|3+kUIEv$;e06FHKR<<E zp2ESiT%Xz8K)c>-EmxZDR;_l^Ty3vbmYZf9tZvt}drlBp9az5~**z<OC~&X(Au_k` z^ZTsxnR*RC&*INstPO?FD*TDU3krXsaJ5cJaC)*dMq=Ruk8Z}oh~JQfJ?RC`J&Q%o zAOd#BiY#EAFa&1zJ<sux`TfXY_3LX3VPx5Nf$?ys*X{<E=ZxzAr&GdwdV|RqVjv^Q z-#K2zvC=0ykAr$@;83+Cns8gdgJ|g-`LA$X@Y8}PU-VD0pEOiM)j3>H&410mfVot2 z5r-;y{z(<0FVB~DNnvVeRtBgrCAKBl*qcF?7y0ExzU-gG*U(Ape@Qe%_L=&h!y)q} wr(=?5BLYL7FD$)v%1!1|-DK|(!9WyUp@kw*ZbXitmzG}^@YX0Yc9Qvj0T7|1IRF3v delta 375 zcmbQiyMuFrhSCp41~_m4vm6+>8MqiiJvyK60P$ldK9ifw!Kfn04dOZS3A8ae^Rl_| zuyahF$SgfMg3*kTX|f}u=;R(osmbpcg(ep;vQ6H{C^2~%qtGNK0Y>i0g-jyMK&_J% zm`x@}GS@IlPrk`44;25&EH9}DlmNK^qyQOsPcCFpmsAG|aR4zkS#42}J_BS;K(_bf zk1Xmera;zYLsk*S43II3UO+BLF%u9YgA6FgV)92u;mJL$Ji4wx5f&hJfXcwA4v=;r qkbqENN3l&l%Bn5604j0=N^?$TWHaD^D(9VS$!5;E0Llvi`4|9CSTVc+ diff --git a/TP1/tris.c b/TP1/tris.c index 339c195..32cf264 100644 --- a/TP1/tris.c +++ b/TP1/tris.c @@ -1,21 +1,15 @@ -triInsertion(A,n){ +#include "tris.h" +#include <math.h> +#include <stdlib.h> + +void triInsertion(int* A, int n){ for(int i = 1; i <= n-1; i++){ - clé = A[i]; - j = i - 1; - while(j >= 0 && A[j] > clé){ + int cle = A[i]; + int j = i - 1; + while(j >= 0 && A[j] > cle){ A[j+1] = A[j]; - j --; + j--; } - A[j+1] = clé; - } -} - -#include <math.h> - -sousTriFusion(A,p,r){ - if(p<r-1){ - q = floor((p+r)/2); - sousTriFusion(A,p,q); - sousTriFusion(A,p) + A[j+1] = cle; } } \ No newline at end of file diff --git a/TP1/tris.h b/TP1/tris.h index e69de29..cc5056a 100644 --- a/TP1/tris.h +++ b/TP1/tris.h @@ -0,0 +1,4 @@ +#include <stdint.h> + + +void triInsertion(int* A, int n); \ No newline at end of file diff --git a/TP1/tris.o b/TP1/tris.o index 0de1e591ec8ef184dc587670653ca3fafdf63d20..a3890e82c9e166c03965a7b9efda9c1944185287 100644 GIT binary patch literal 1400 zcmbtT&1w`u5U!q$@h@tW2*RqYClySy5F&|!tgLNX5f9>m9z<u?kt}9rVWtDC7(5IL z!w}3x5PSolz=H>k2f>qg@&O{OcoOz7hlRCjXU23o<3$U)yXvd@s;aAJo{DRiEyf@h z1{Yw{%29x~)}~$?sWsROd!Qks?=o8HMavtX#DJJTUgH*vfqW%br=C%$j73kfFEK=- zkB+d%B9Z)@jYYCOrjf|jR~fD|xjOMOB{z`#8Oc`YCM;Y@pj$4a!o27|d6T-r_n1Jh zz8;G{X22F>v2k7u4!pQM91hp+e1wI1{aoeLC8yc8y~-S);nnH0r&9&%Pf-sj?C}j? z-APuS*tu&BuXz+PS|lH6ySRVyxmDjcZoR_@0*ZwuGzPzhMcz{3<N->c4PPUc&{HHO z*ii&y^!Q)!v28eA;gHtP=#CVn{C2=wbX@TQ$5-u+M{tEU6zX(Kw>)^{D!U0hP=0zY z=9+T43iy3n*}$7Y0KC<4UB^Sr>nMjWTyIPV%5FUb?mJ61cNXtH@NL%_)%oA8j0xy1 z%!$;p#DDIa*%YhG2{Z^ZUqJhn^l)vGDSQ$Sn(@E#&mfoTS8?f**FUC%sOSCX=d6b5 zp~v$89W02wnqgbs8nH^opELO8FCoxRUtP_JlUc$e8BRQUqnw}PRK~1Llv`Q-Z)BkC j#zkC{Pq;aIgrJ%wJxqos=2#A*uZVvy<KNV{q?-KS_T!4z delta 209 zcmeytHG_SE#^ehu90CkL-~b|kBqsw0!(>KA`N>C^BqtXz)=g$(5@Kg4DatI?OP(Ch z<Tm*bliB18OuUnSFeywv!6X1w!!lWiS!J>SGY6cXgT`M2;WNrkPGl6G{DxVDF?RAn zCUK}<9x%O!MMN|K><9*i6;PTTNV89V%A(E5!3YuJ0Gpu0s=_G%6>)`#F!KNa?aD33 diff --git a/TP1/utils.c b/TP1/utils.c new file mode 100644 index 0000000..f68b0b3 --- /dev/null +++ b/TP1/utils.c @@ -0,0 +1,9 @@ +#include <stdio.h> +#include <stdlib.h> +#include "utils.h" + +void affichertab(int* T, int s){ + for(int i = 0; i < s; i++){ + printf("%d \n",T[i]); + } +} \ No newline at end of file diff --git a/TP1/utils.h b/TP1/utils.h new file mode 100644 index 0000000..4313661 --- /dev/null +++ b/TP1/utils.h @@ -0,0 +1,4 @@ +#include <stdio.h> +#include <stdlib.h> + +void affichertab(int* T, int s); \ No newline at end of file diff --git a/TP1/utils.o b/TP1/utils.o new file mode 100644 index 0000000000000000000000000000000000000000..93cbf075995584b2edc7a921e5d6e4568a023c27 GIT binary patch literal 1592 zcmb_c&1(}u6n~r5){nNNQbDM~UKGV<Xe~%plzh0!g275{@wiOV4GA`h>~0~7;-M&n zP{>8_@9^YZP{fOWM1_DJ^yVQ@-`ky`<8*ovU)Xu?{pS7No0&J0mu|J3u`G~c!5uj8 zBnt35b71EaGY``+1sh)fo451B@%k@D{q4O^?wBUO=LYWBd+Y7ay&~5exFgT{I)MI1 zZ}&DK?`as(u;Y#`48G;=J^wQN{NduJa|)nRD&2H0-wkRl-f>pgGF!}DzmginL77Vx zSkKnL>Se9@smT*VT=;p!=_7eSLt!TSI#ZgS$lSvS0?a~tJ_f(`O|!P~L;!63nZ(9S zCb8kT3C1jwN8siK+c0q`{v;x2lyxS1N9-(q*+bC)SC7D9J8o@7tPZ@<Xw{oR81owV zmFjA-Q1w^K<%jONzg{R-T_2u=txnt!xtE2eYeKsm@28S<8+|&F(+cjOO+xX?)dFDA z(>B#)QJmCfQBzuBu*F#%^kQI}Jm$b^Q3NdPrcS-vZU-Hl>vZFQRqk)(qL|koV*t^D zrr!v8J4lNDhrz)dbZ7KV<Pjs0=bw6Mth7nb<40$b$4?bc9LAym@i8QI<V`py@Jj;M zZ{SeO>q>vq3m8B-|CPUlT*~=Z@6ea^^_#BOzajW?pXes?M(7JdOC|YI7jZ(`GKTa! z)lqCc_7TnzrmsKwV?umI;gTuOU&3o>nEKZf31y$Cf5er1iJNLu?w>TEIAX!{X6S9} fe8TkJAp}`b{~9@p==-0=ITL><_*~(Vsq_B;L+E`g literal 0 HcmV?d00001 -- GitLab