From 2601114b279a161184abf1027a6f0301a02b429b Mon Sep 17 00:00:00 2001 From: chafiol <antonin.chafiol@gmail.com> Date: Fri, 31 Jan 2020 19:18:01 +0100 Subject: [PATCH] 1er rendu sans readme --- Algos_1/a.out | Bin 17368 -> 17368 bytes Algos_1/algos.c | 30 +++++++++++++----------------- Algos_1/algos.o | Bin 4224 -> 3912 bytes Algos_1/main.c | 32 +++++++++++++++++++++++++++----- Algos_1/makefile | 6 +++--- Algos_1/tabs/big_tab_1.txt | 1 + Algos_1/tabs/medium_tab_1.txt | 1 + Algos_1/{ => tabs}/test.txt | 0 Algos_1/tri | Bin 0 -> 17368 bytes 9 files changed, 45 insertions(+), 25 deletions(-) create mode 100644 Algos_1/tabs/big_tab_1.txt create mode 100644 Algos_1/tabs/medium_tab_1.txt rename Algos_1/{ => tabs}/test.txt (100%) create mode 100755 Algos_1/tri diff --git a/Algos_1/a.out b/Algos_1/a.out index ce356845c9f1c0a90b7087c5a90462f4120f8863..90baa49ed092241204268204f4299208bdeb685f 100755 GIT binary patch delta 1587 zcmZ8hZ%kWN6o2=YNsG`HXrW~-yh69ZNQ-p*88Wnu6mJbi$Shmt7l|8@7^iVCHnW9k zS4OR!+fK5O=n{={(GNyuF{{%!h%wCQ2!2qjpBj^8Wt&^svhl#d^W67X-F(UI@7~`z zzu!6c-uIe3LXt<wxR&HK8U*EOG(Zt?>oQbbW*|T=6po4NDvMyH-<Ymk{-Y=Pk*(u* z>C(BOsk-IjH~QT1G}Y^M>-B=bVg+9m#ATySQ!su{mbt;T+Guzj%%&<WX9!<-P2JAj z8lK%Y@u(mqcv|}WKe9X>o_Iht0biktGpL$?l&OT?pdgu^aQ5UX;&oZESrI255GP=V zxk}^=iaE4~f5zVf(--o1wUbM-JQtvF%ItsvlfC$3t>Oq6RNHxd335!%Z8cfKi;7VA zTh)-m!-n&VXn2~SOEml;Mp<Z5%c8i&Mi*MJ$aK064Z@R#@E%NpNporOFwc&){h+&F z^QT2PZF0H}XNmXGG!&jxYjSwFW+#Rfr{ilBr%+bdwFm*TGhde_#6{R|w&(mJttzzY z2}-zab-%w#a1|9tv&1J7l$F?PdQfpKAKP?cB)uJ1N<ND|EA3>P^4C@4X%4JOKPSas zENP|Ga~Dool63o>_>i@q&`Y=Bud>dvX@7>_F$=w#AuQ@ovQV0^7Jp{o1qiI&(tBLS z^NRW<7GoF=CUKr-kr{qydogtE$M1tIa+yUAUSyHMNfrqvFeAaHQW_TPl5l>Jky(D& z5!6Nfn1Ll!OwEm8Ver{XbuIq%fn7)^VajHOc3Tk*CgFz7LQ)X5S?x)}LjDwQFM;h* zY%gUPd0Fj@OU#yx68nEu#iUl7VG*jB-z=-zQn;dY-Djw17lhk}@+IH4&RAP*g&_EP z0+HW*!9e7W?|EP3UXaCHHl(+9)-1Eob#1z0K0a)BkQ3seVNnzx7X??Z&@s5D|Fzw? z<ZD47Yc;I{hy^%CZ_4tgh%AEz5q<NrJc~GgOP2YOzp^09Mtse>@!lRooI&hDl<<4m zhbZDZHHP>(Vgm8%vMeVNEh}=aEa7By1@w-M)^V&;hkinPu91TiM+1%|bUQYXe%SA* zs9eO_Z{{HB(;G+VQw5J`26OUrwSo<)4{&U~3+El>)VctFBJ5p&CC7TQ58kRQ9p))c ztab=Lkr>Xi7Ic(5C>HG){~P0Nh}pPiGr3=4C-Ql?4gNxA<1Z<40dGM#jByLbcky_K z-uNC3=q*Pze!UojbCvZuUW`F+eesu7={)G7I!L=V)9Q+NrF%w$2)F9pWDFdhQeup^ zcoqn`4)qN~NPX7uv?sxLfREBVqKL(c@P<UZTmInpsXY7+IDgCrm5oPre!EJy!Pku& zJaZOxbx;N2%xd!6<tm}<45u48PxS&eRn*i$`>e2|$xSsDc&F(*I$jRXH23M0i@@A7 zaJH#5KHFTarG7muJ?YM?UTq209&ZOZ35A=A;a#sy_uv2gS#Pt>=unFq<MZAt^k3f~ BE0q8M delta 1433 zcmZuwZA@EL7(V9|C}jl-{kVLV+X8{HfYNOcWYcz1I4tN`W;OAbOPJAQ`yqjB8j#Iq zTdrMk*_)^_YDi4xT>JsnM5abj=U|C$@MBAjORPVTOEd~NMpq!m_ugA-W<1Hg&wan1 z^W68mCw`X3&(iT+ns+Oo=<8NK6w@Y4k{M<ay6M+NW3pjo5K7q>4&OxMq0>jZsxK7H z|CsaYLwCrIy%RB&6%<&mSqb6M`~%jQuvtv7;*_D@VFRzL6b?H4_M21-@BMTeA(I-h z`uRG5s|IEqw%n-=A!y|E6eJujdH@102W)fhuz!}Vm(*rToa;~^)xa^Q4faW;<~LJ9 zEM6w?p3}nyhoQ<T*|}LSc`I*gmw^;0QjN7S<LF4i6{&Lj>U|-8x1yjQEU0A-EnO9l zJdy0<JFT_#C~+WL{qufINbQWxt-+qMI9t0HbCthH+0j)vRnb!(3B`FNnBdAaB<eu5 z#-B;6Lcl`Bo{{rH2uw)wD5u;=R=IM6E7R&AhR$FAF2t329{!`3E5kEf8JyxuXc8+X z4a%!oTa?ke$TS^X(mKb($CfA>aoy08!z$%%!KHyRz4V)eiAQ^rJQ4`ba5~E)geyT! zD6*qi1J%Vd8dW5y@~GqcG}BgkTQJ^#1Y-%1-OdtZ`k$;&0_G}9TK`l2E#@Y<!gx5C zp!h;zhCqe_)xy_aFgo%t@g&d4O{+DC;fULA(V0-jbvWhrw$E+qEi0_*Amr~tcPj8q zPjqiYCM585w{klW>Q+_*PX&~X5RWzvq5DwJ_D$?<t~#<3`^D{{u_^O&^n!eH<Pn+F z_Q{PhzVb-F{AgyO2j_&)a#Q;NqINq@{w2gEME??Qj@Y&=#4O_CiV)gqT*b4t;b>pJ zC&a^ub!$TOA|AxqJc0N!;@gPkb(}E7@P;T9ar_v^nNK3hn~>vapqHT8Bhgvt_SDhC z@RFx$WEpq*S-X*e0^1q(cz%xQHnW;@Nd>yz#ph!jiQf=2arUbg*5hBIyC0PeKM+5m z$7|4c2cMf5Z!qD<7XOoPm`1bCWruT2lF4d@La&9*C85mg-uF{dh|veAl+0Eg_zzup zeTEP-RHox}OKKnbKS;qVUN;+0!8_j0tT?s=4maCBsaEq~p|Oq4RK~nbH%y4I(%eMH zz~hr>NvzGcM(JH>-gO*ZAMNV$m6mH72+^e=%1B*|r!-Zmy9r)EeQD>Q`IpPUyL;5~ zVY+MxuI#S!?U#%sy*2oGF`ZnUCebdwwi+})D<CMUxTTX#OYm$<6YF!q>n&fg-b&ct z`n*Ly9?ZQ66D?9~wzWQ&&08V$SX16inhmRc{!aQn6z#ObIe&#^OxDN=8G{LbtEI$a LSS7J#{{s65&OzBX diff --git a/Algos_1/algos.c b/Algos_1/algos.c index b5ea19f..acc21a9 100644 --- a/Algos_1/algos.c +++ b/Algos_1/algos.c @@ -3,8 +3,7 @@ void triInsertion(long* A, size_t n){ long cle = 0; - size_t max = 0; - max--; + size_t max = 0; max--; for(size_t i = 1; i<n; i++){ cle=A[i]; size_t j = i - 1; @@ -75,33 +74,30 @@ void triFusion(long * A, size_t n){ } void sousTriRapide(long* A, size_t p, size_t r) { - if (p<(r-1)) { - size_t q = partition(A, p, r); - sousTriRapide(A, p, q); - sousTriRapide(A, q+1, r); + size_t max = 0; max--; + if(r-1 != max){ + if (p<(r-1)) { + size_t q = partition(A, p, r); + sousTriRapide(A, p, q); + sousTriRapide(A, q+1, r); + } } + } size_t partition(long* A, size_t p, size_t r) { - printf("r >>>>>>>>>> %d\n", r); - size_t max = 0; - max--; - size_t pivot = 0; - if(r-1 != max){ - pivot = A[r-1]; - } + long pivot = A[r-1]; size_t i = p; - long temp; - for (size_t j = p; j < r-2; j++) { + for (size_t j = p; j <= r-2; j++) { if (A[j] <= pivot) { - temp = A[i]; + long temp = A[i]; A[i] = A[j]; A[j] = temp; i++; } } - temp = A[i]; + long temp = A[i]; A[i] = A[r-1]; A[r-1] = temp; return i; diff --git a/Algos_1/algos.o b/Algos_1/algos.o index fcca01db38feaff275db7d0b477cb2e77af7d5ac..d6ac934c984060b2a1e49881fa9ffa3c0df8ed03 100644 GIT binary patch delta 809 zcmZ`$&ubGw6rR~OoBh2pCf!7AO%Bn7VjJ|3CQ?j|O9#O!NDf7M62Xh0peHM}1cOV7 z2=5=Lc+iW`+;X&{81P~*5<D$l+=7)oRuJQx-K>;CKX~)wz3+YV&CHX0f9gfiVjB66 zda$Y!ji}v=pT|#pvVERmt-C&D8}@*;Jj$xJ|KKJRVz+9}<34j9zGF_aht(e2cE?!f z`aZ7vjDBGoggLf{J7i#QIJ>)TRD?;<lB>42dK=RN$cx#O%Q~r#!D&%@a{x<XrgEt8 z9y|7#Be0e|pg6ePSr45F=*%_ScZS2^NHm@CgW6$Vp)h<GkIOz+LJKSKS1hH-Vxv*Z z6&IJ9rCfF9+)SBUy%F!ucDS(xBheNbx+px;;u0YzG4+Ax5%Uy>s6I9a=cQLLB`0B1 z65*GWfv-{$%5tw1=pgkzMv_o+DTWI~(2w&Y44z+ulCln6WukDFD<j4+WQ;#}J&wx< z^RTB_@Ke$Biom%cTZ2i}%JSchdRDmzf=@bJRW1FXVhnavYd$w}#5pEL)O+EG{HBN` zM8JoF2HEINURWU95|1_5(W;QtpVQayQm-7FQ$m6?x`_<C`mFFngav&9%0@9--ZL`L zHxhjN%{WbKKut^d9nli>8mt=@C9rIsp;usAx6*YrRDKgq!MnxbtvQ`0_-`Crqcgb$ Z3HHosd5b><;wj`471<jpEJNNn^$(0<)%5@X delta 1092 zcmZuv&ubG=5PrMuZZ_N9wdoI&rV<j-rbXKZMQX%qY+U+IQp8{{9)eXWqGG7nLqu($ zxWq_d{sQYoJqSGrxoBJQN5qRa170?GFa;0wR#2!jyPL8UKX~(IzM1)U-rHA;JxDAK zhBG?bLB{biOlR84=`Zd5<y@VYO`BUEd1ah(RWeO7a6r0zzw~R0TlZ?*y0gZuTor4p z|EuMn%uVXyr5l?926ZQ(;!;!KX>)Tf>a?!gZM-tIg?^0-UwN5v%cKEN9EWiC=Efo^ zmCYuvzz-=TrOkTb3am@vsAW<s@;x8C54bWp8w@#ebXVdX)^2f2<R#M<(BLHQL?TYq z+_Nydy}j*|t@7Q|xw5b<cLyCEyr|FcRvtQha3($+N29Vr{L~JRQ5l=eW>3TiC(q@E z;^~niBPsYJuZ%vSanBf?i(*!nMN11PjO|0}J@JU5fTopiy9?g~&)}8P1xrdyP(V<6 zp{Vr0no<oqN?3dw62Wj{9=$Fmu&jg*!qLHf0T=PB@HF^PDqOoccNOAlWPlCRhY;<! za9H*i?|^XD&%-4(+}GjDj)@o`s7r?mX6Z?_dW%FOXfxoA8qWEZzj;}bpeb8j4PRHt z$IISPDBb1b6VOn@!b!5@d9S9WDPtYsy06!-X?q2v*$Kxwps#gd&Pzv@lxVF&qa!UB zZq4N9@(|IMgrD$28w=IwM2K1MnpF6$jf%+t{+hjTTpw(?^LivoGJYfjZq(1<r51~( zF(Q?ezXtt@04(bR(gdYZwp+a5s#mqnzKcZS+ATc|2_w1xJZ9)*8C-s(G&g#VA2wp} j$cXe#<GUl+-Z|(e2jR7G2y9Ie9>az)rq;c-yfg1V9E28r diff --git a/Algos_1/main.c b/Algos_1/main.c index b60a072..c53b229 100644 --- a/Algos_1/main.c +++ b/Algos_1/main.c @@ -17,7 +17,7 @@ int readToTab(long* tab, char* file){ if(temp != ' '){ tmp[x] = temp; x++; - n++; + } else if(temp == ' '){ long t = atol(tmp); @@ -25,6 +25,7 @@ int readToTab(long* tab, char* file){ memset(tmp, 0, 1000); j++; x=0; + n++; } read(fd,&temp,sizeof(char)); } @@ -44,7 +45,7 @@ int main(int argc, char **argv){ } printf("\n"); - if((strcmp(argv[1], "--insertion") == 0)){ + if((strcmp(argv[1], "--insertion") == 0) || strcmp(argv[1], "-i")== 0){ triInsertion(tab, n); printf("Insertion : "); for(int i = 0; i<n; i++){ @@ -52,7 +53,7 @@ int main(int argc, char **argv){ } printf("\n"); } - else if((strcmp(argv[1], "--fusion")== 0)){ + else if(strcmp(argv[1], "--fusion")== 0 || strcmp(argv[1], "-f")== 0){ triFusion(tab, n); printf("Fusion : "); for(int i = 0; i<n; i++){ @@ -60,9 +61,30 @@ int main(int argc, char **argv){ } printf("\n"); } - else if((strcmp(argv[1], "--rapide")== 0)){ + else if((strcmp(argv[1], "--rapide")== 0) || strcmp(argv[1], "-r")== 0){ + triRapide(tab, n); + printf("Rapide : "); + for(int i = 0; i<n; i++){ + printf("%ld,", tab[i]); + } + printf("\n"); + } + else if (strcmp(argv[1], "-a") == 0) + { + triInsertion(tab, n); + printf("Insertion : "); + for(int i = 0; i<n; i++){ + printf("%ld,", tab[i]); + } + printf("\n"); + triFusion(tab, n); + printf("Fusion : "); + for(int i = 0; i<n; i++){ + printf("%ld,", tab[i]); + } + printf("\n"); triRapide(tab, n); - printf("Rapide : "); + printf("Rapide : "); for(int i = 0; i<n; i++){ printf("%ld,", tab[i]); } diff --git a/Algos_1/makefile b/Algos_1/makefile index 966a11e..09e964d 100644 --- a/Algos_1/makefile +++ b/Algos_1/makefile @@ -1,7 +1,7 @@ -all: algo +all: tri -algo: main.c algos.o - gcc -Wall main.c algos.o -Wall +tri: main.c algos.o + gcc -Wall main.c algos.o -Wall -o tri algos: algos.c algos.h gcc -c algos.c algos.h -Wall diff --git a/Algos_1/tabs/big_tab_1.txt b/Algos_1/tabs/big_tab_1.txt new file mode 100644 index 0000000..95d580c --- /dev/null +++ b/Algos_1/tabs/big_tab_1.txt @@ -0,0 +1 @@ +40 47 12 2 25 3 14 65 48 10 1 56 94 45 36 27 6 7 19 16 24 38 37 11 78 5 18 54 20 21 82 42 32 22 19 9 53 41 99 125 111 248 33 . \ No newline at end of file diff --git a/Algos_1/tabs/medium_tab_1.txt b/Algos_1/tabs/medium_tab_1.txt new file mode 100644 index 0000000..68eab90 --- /dev/null +++ b/Algos_1/tabs/medium_tab_1.txt @@ -0,0 +1 @@ +40 47 12 2 25 3 14 65 48 10 1 56 94 45 36 27 6 7 19 16 24 38 37 11 . \ No newline at end of file diff --git a/Algos_1/test.txt b/Algos_1/tabs/test.txt similarity index 100% rename from Algos_1/test.txt rename to Algos_1/tabs/test.txt diff --git a/Algos_1/tri b/Algos_1/tri new file mode 100755 index 0000000000000000000000000000000000000000..b43602ba8d20453637fc51aff0060a392b1dd8eb GIT binary patch literal 17368 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 Y2b1e%S@O>zB3a*AZc4Zv3XY=qFF}_MTmS$7 literal 0 HcmV?d00001 -- GitLab