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
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

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