From 86ecf21667ddc184cad76f1d045aac7305d25cbf Mon Sep 17 00:00:00 2001 From: fce15 <fce15@inf.ufpr.br> Date: Fri, 27 Nov 2015 22:02:14 -0200 Subject: [PATCH] Busca Binaria Implementada --- Arquivos/Loteria | Bin 9072 -> 13336 bytes Arquivos/Main.c | 9 +++++++-- Arquivos/Pesquisa.c | 33 +++++++++++++++++++++++++++++++++ Arquivos/Vetor.c | 8 ++++++++ 4 files changed, 48 insertions(+), 2 deletions(-) diff --git a/Arquivos/Loteria b/Arquivos/Loteria index b52911213aedbde8b1ac3673e0efb962f1f54eff..fe40f16d2243958a4fd7d8feb3359288be132722 100755 GIT binary patch delta 4076 zcmez1HX~z#gpdQ90|N*^NCt)(Iuo^)InLn&i7_z1Xa)uaumB?i0|Ofa1A~AZn9Cp_ zmjGtK=maJ(mmy=aAftpJRFMW$k%ru4E5<m*03L{%03L{)Fggb!%#bsACu0CiFU(*8 zxye#YSt8C+S(aY@+AFLZZ*$AsKb4<;De?E@8B7+FC72}`RVQC$5@)mnldd3gvH`OM zYd8Y~gTmyCjKYixV6g;dN51&@%;NlHOUwA;<ixzR$qShM>&+S5eLS6<<Bjx8;4C9O zQw9bGCI)5(CNKoCSs0*RWME`qW&nkU0My;$nVGx{3@i+3pzvW}U=RWGnHdV8{8Fh* zPLK&zQ1w6LAz=p!PquofAc&GsfJm@2Fn}!piGi>Jk~qu}AaM;Oab}PJ6dNFkvp~f_ zlm(JFD@cHWfgu+}J0MAbTm=#XVGks6kfT6iARK@s&H)mD;s_*hPN*1&@@Rg;;nB@n zDm7V=Rk1!vN`c|OYKoKs1HZfj!+%u}KLe!f<%9qK|NmEwl2TyE00r>N3t)Z_h!67j z%L8D(7l;q?@5>Efz7vQK^5@G1V7?WI5Axs331Gevh!67C%LWj?UR4Vu0P@ev0+4{J z5{M7-$IFEO|Nk4l_3XSD=h6Adqxs2)fDq5)2QF|sFnAn4m;k1Z&){@mcv1fU|Nk#( z{PHdg3_Hpd5*R`~bPE&`7(AMP@OgATEtB2>@{dRBffB*k{UC||57PMMTR?&g(y@m@ z{!Y__3G4$Y2=!=uSD-N2n@z<8#Qpz(U!EcMFvNxi+e%3V28L3>P>;^1FY^BX{~vpd zHBC~1f$=lgsQn6ZlNYn8D|j@&QSj)jeX;)uw*v#%1uyFV{r`X5^$*D6*IJVcI7F;G zI*;xD0heF!@Bja1*FTKSwSSoFE=)Li7-U7TNAnvEkIvc~`$76%<ox^pzw`JD*U1mr zlo*pHv#>jP|Arf|^)JE#iEh_FoyYbw^1y7L@fU77U)`hqTnr2hFH-*g|G%FVuB3GG zM0QnfgcjGy2ib)g1vg)1XJ)KVNb%@qQPp5zVDRX4{b6{(qt|tTN9XYu)qns0_vm%q z0Ae3QV(b1xh#UP!utmY*p$i~-u7R{2WMF^<kw>@hj}#AM9<VhftS?sn{{J5m3?3St zwJ$nLpB#7n0t$!Yu0Qx07#O-kzjV9)V7$<I=-?}P#tRpJbh`eTT)-hJ#bE9Fq?Wte z^-uEw#!lBSuQ@@?7mS^*KS0uaAn6j0Zr3l?u0QH#frRQoLZz(Tu76&$?f@mkSa9gW zV$q|s^Z_*Lj=TN<x!`p~x9bm&86LeNtst&Px9bBB#tYp79^I}lI>EjY`~Uxc^N;@} z+E^7bbROF;01x?vslTAH<NAZKx%LNh-6BZ*8Nij)|N8%b!pXykq?$ItG2AiCvGc!U zsAGsvuj)J@1%^<MUR@9!?AiIvv-7IqZ6D32;0%B8FY}A1KPNYG2G_e}re~I<Dwrtb z9p06jT9jXGrNE$?!VmyvaH^&-_?6~bL24QX$K=$alKfJId<DN!kXi-R6di?t#G=Hc z!z=TOxfuKvLh?%za}-ii6(CBB71HuE6;e{I6jW2V7#J9(nXN%p3aGXT`1$|;4hDv3 zh7Ujg|L<U6V0iZH|NjRJ3=Fov|NjS-u^WE>|F6Nwz!3E3|9=lg28M%w{{IJ+JsyAm z|L<UAU^w~r|Nj+?3=H}I{{KJ0$iN`*|Ns9Nj0_B*lEeU1CNWGl<5FTu_&GU>OOJKJ zkN^J{Oz!29){<dhU~pkzVEFg*|9?<L#Nfy$(8lD<%f=MM!_L9Lpu)hwkix*gVESwF zCN3qm9tH-6hF_C!aY?bQ0o6ReC;#G-VmrgYz!3O*vJ|&e>KjmU{r&%cBPinGX4Qbr z0@=mG$iN`^=l}m@DDn&8@;ZzR4D<i||34K)egaq?<W3((P-Pj(?aVoak%0l^d#24B zx#O8OAK(taMNDDj6kvx`<sT+X@~JyjutIpeAWIk+7_M+b_>xdQtWKAP@<Bx|h$#gk z7#J8N<R&-q=`pUDypd0yv2F52J_7-0g#r#~1_p*3lLh(Z1sAYD%mo$UAgvvf9r^Vc zJti0O%QNato+u<d`2cqevxZ#4<co}=&fB1_ItHb$LFs2u`WuvHgEol7ptKs4He+)D znX@@V;0Gh)iphyW;$TZenK>9dCQlR+XY80fQAm`Ti($d!gF@nr6_Y;-i8AvrESUUJ zNW31_$^tnPhM5`o;6Vcu1JTS3{0tAEK?dT(Ff)SyLjbhR1QP?%%nX7I2e66@!P;lY ztqTSQW(Hvf322)PWB?2^Gl(!KU=<f-fVJUZYC$wJgBSy>5d-4GFf)TV0|PY1AY!0o z&H%Dlf*}D#0wT@KAjwdmFj-5)-2lycP?BL{;AJR)Mgl}V1A`tYcQEiWY?!=IL_FyO znk*=%F@nv6G^9X{2#`)t%Zw3==X;^1!ICjZEeOv9H^4xlI9W=xPih7qB)x&8K=>V4 z8Wd)e4~gp6qdA?M5!8Ca3^@_7Ye0rV90xK9gw?_7(L;`b!IqJML5P8u0o3{cse|PK zU$8hx1cE0Qh-rAChi)fW5idh8G=mmH)G|y4m0=7L44^g!R0vGX0;>n5%gK+#T!eWU zB)K4d1{Wv{3=9t@CyI$P{s)nULQD({0t}c@D$fLQu^=ZzZ#&p%1_rIkjpE|ImP`x` zf=m(&8E6T?4XSHD)JAX-#lXN23Q~`hB|t4akbx;6^`LfreHn<wz{>z?n1N(cK?DN> zLmSwAk_;7SHg!YQ!!o57RQ)8V_#zI7yYr#qGoa?62i6jZdLaf-QxK#UTq-j#FsuZ5 z)O0UInt=go+#-+?1_p*xP;oP8oPbg*Na`|39ONO%w;(SwVaCo+kh!wL%%I@qW`Gs5 zAiW?g2@;=tkx^tbqvUx;{(#it!qUv*M5oNW#G=f^$>*ig`NC3*GSf1X6CpL~WK-!f zC7;wHm&BC(Vg}Sck%I%QJ7hk2m2}Hy0~rNI#t)MNW%UJDFhhc81*q)}3g*cZW%UL1 zpoOs>G=4-TUzF7s^ni+bKt&xU3(Dzpc0fftCVR@6!;A3+P&GFuPn6T=g!!&w@=1^y zXyLp7)ShQxU|29&P+lL=cLlZT85kHQu}%(>*W-fKH&?hPcgdRx!phPI+@MfmV91|5 zQ9*w42YCTOSZNCDk>*SmRL~cMm8AzjEe8e$hC7o36%06`xm!SPa+iWRj3*&C`4obu zAUByy5iX}8H`z<koD<r~`yoHMOVJ!wk1;^oI0=(4D(Z8=GHrswWG*E$E?6=vP?+qc vWXDvXFu6;~j_HuX<Wov^oEH=!o|rLNP}y7~LleT&hDHU12P$`9EC>w%{7`OE delta 3297 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 diff --git a/Arquivos/Main.c b/Arquivos/Main.c index dfa2b88..444b09e 100644 --- a/Arquivos/Main.c +++ b/Arquivos/Main.c @@ -1,14 +1,19 @@ #include "Estruturas.h" +void LerDados (int *Vetor); void GeraVetor (int *Vetor); void ImprimeVetor (int *Vetor); void SelectSort (int *Vetor); +void VerificaNumero (int *Vetor, int *Escolhidos); +void PesquisaBinaria (int *Vetor, int Elem); int main () { - int Vetor[TAM]; - + int Vetor[TAM], Escolhidos[4]; + + LerDados (Escolhidos); GeraVetor(Vetor); ImprimeVetor(Vetor); SelectSort (Vetor); ImprimeVetor (Vetor); + VerificaNumero (Vetor, Escolhidos); } diff --git a/Arquivos/Pesquisa.c b/Arquivos/Pesquisa.c index f82e802..9614da9 100644 --- a/Arquivos/Pesquisa.c +++ b/Arquivos/Pesquisa.c @@ -1 +1,34 @@ //Arquivo com os algoritmos de busca +#include "Estruturas.h" + +int PesquisaBinaria (int *Vetor, int Elem) { + int meio, esquerda, direita; + + esquerda = 0; + direita = TAM; + + do { + meio = (esquerda + direita)/2; + if (Elem > Vetor[meio]) + esquerda = meio + 1; + else + direita = meio - 1; + } while (Elem != Vetor[meio] && esquerda <= direita); + if (Elem == Vetor [meio]) + return (meio); + else + return -1; +} + + +void VerificaNumero (int *Vetor, int *Escolhidos) { + int i, acertos; + + acertos = 0; + for (i = 0; i < 4; i++) + if (PesquisaBinaria (Vetor, Escolhidos[i]) != -1) { + printf ("Acertou o Numero %d, Parabéns\n", Escolhidos[i]); + acertos++; + } + printf ("O Total de Acertos foi de: %d\n", acertos); +} diff --git a/Arquivos/Vetor.c b/Arquivos/Vetor.c index 16400e3..30c6fb8 100644 --- a/Arquivos/Vetor.c +++ b/Arquivos/Vetor.c @@ -1,5 +1,13 @@ #include "Estruturas.h" +void LerDados (int *Vetor) { + int i; + printf ("Digite 4 números: "); + for (i = 0; i < 4; i++) + scanf ("%d", &Vetor[i]); +} + + //Função que gera valores aleatorios para o vetor void GeraVetor (int *Vetor) { int i; -- GitLab