From 3bf379a6a957d49602dd68afff19417bac03373e Mon Sep 17 00:00:00 2001
From: Fernando Erd <fce15@inf.ufpr.br>
Date: Fri, 11 Dec 2015 21:05:28 -0200
Subject: [PATCH] Arrumando a Main

---
 Arquivos/Estruturas.h                |   4 +-
 Arquivos/Loteria                     | Bin 13744 -> 13776 bytes
 Arquivos/Main.c                      |  21 ++++++++-
 "Arquivos/Ordena\303\247\303\243o.c" |  62 ++++++++++++++++++++-------
 4 files changed, 69 insertions(+), 18 deletions(-)

diff --git a/Arquivos/Estruturas.h b/Arquivos/Estruturas.h
index 326d51f..6ac3e15 100644
--- a/Arquivos/Estruturas.h
+++ b/Arquivos/Estruturas.h
@@ -4,5 +4,5 @@
 #include <stdlib.h>
 #include <stdbool.h>
 #include <sys/time.h>
-#define TAM 100 //tamanho do vetor
-#define NUMMAX 10 //constante que tem o máximo de valores
+#define TAM 10 //tamanho do vetor
+#define NUMMAX 5 //constante que tem o máximo de valores
diff --git a/Arquivos/Loteria b/Arquivos/Loteria
index 08a9e5928885a26d371d38c973e4ee089c824de9..de5997e00e653a3e13ffce9849ebf96a0c075f61 100755
GIT binary patch
delta 3414
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
XbDIwuS}?Ksrlw>j=579Nyps_C^{RCy

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

diff --git a/Arquivos/Main.c b/Arquivos/Main.c
index 8604219..0f7aa86 100644
--- a/Arquivos/Main.c
+++ b/Arquivos/Main.c
@@ -59,7 +59,7 @@ void TempoQuickSortIterativo (int *Vetor) {
 
 int main () {
         int Vetor[TAM], Escolhidos[4];
-	int comando;	
+	int comando, Ordena;	
 	
 	printf ("1 Para Jogar e 2 Para Comparar Algoritmos\n");
 	scanf ("%d", &comando);
@@ -67,7 +67,26 @@ int main () {
 	case 1:
 		LerDados (Escolhidos);
 		GeraVetor (Vetor);
+		srand (time (NULL));
+		Ordena = rand() % 3;
+		switch (Ordena) {
+		case 0:
+		printf ("O Vetor Foi Ordenado Pelo SelectSort\n");
 		SelectSort (Vetor);
+		break;
+		case 1:
+		printf ("O Vetor Foi Ordenado Pelo BubbleSort\n");
+		BubbleSort (Vetor);
+		break;
+		case 2:
+		printf ("O Vetor Foi Ordenado Pelo QuickSort Recursivo\n");
+		QuickSortRecursivo (Vetor, 0, TAM);
+		break;
+		case 3:
+		printf ("O Vetor Foi Ordenado Pelo QuickSort Iterativo\n");
+		QuickSortIterativo (Vetor, 0, TAM);
+		break;
+		}
 		VerificaNumero (Vetor, Escolhidos);
 		ImprimeVetor (Vetor);
 		break;
diff --git "a/Arquivos/Ordena\303\247\303\243o.c" "b/Arquivos/Ordena\303\247\303\243o.c"
index ea87549..515df4b 100644
--- "a/Arquivos/Ordena\303\247\303\243o.c"
+++ "b/Arquivos/Ordena\303\247\303\243o.c"
@@ -38,21 +38,53 @@ void BubbleSort (int *Vetor) {
 	}
 }
 
-int Particao (int Vetor[], int Esquerda, int Direita) {
-    int Pivo, i, j;
- 
-	Pivo = Vetor[Direita];
-	i = (Esquerda - 1);
-    for (j = Esquerda; j <= Direita- 1; j++)
-    {
-        if (Vetor[j] <= Pivo)
-        {
-            i++;
-            Troca (Vetor, i, j);
-        }
-    }
-    Troca (Vetor,i + 1, Direita);
-    return (i+1);
+int Mediana(int *Vetor, int esq, int dir) {
+	int aux;
+	aux = (dir+esq)/2; // elem. do meio do vetor
+	
+	//mediana dos 3 numeros
+
+	if ( (Vetor[esq] >= Vetor[aux]) && (Vetor[esq] <= Vetor[dir]) )
+	   return esq;
+	
+	else if ( (Vetor[esq] >= Vetor[dir]) && (Vetor[esq] <= Vetor[aux]) )
+		return esq;
+	
+	else if ( (Vetor[dir] >= Vetor[aux]) && (Vetor[dir] <= Vetor[esq]) )
+		return dir;
+
+	else if ( (Vetor[dir] >= Vetor[esq]) && (Vetor[dir] <= Vetor[aux]) )
+		return dir;
+	
+	else if ( (Vetor[aux] >= Vetor[esq]) && (Vetor[aux] <= Vetor[dir]) )
+		return aux;
+	
+	else if ( (Vetor[aux] >= Vetor[dir]) && (Vetor[aux] <= Vetor[esq]) )
+		return aux;
+
+}
+
+int Particao (int *Vetor, int esq, int dir) {
+	int i,j,pivo,aux;
+	aux = Mediana(Vetor,esq,dir);
+	pivo = Vetor[aux];
+	i = esq;
+	j = dir;
+	while (i < j) {
+		
+		while ( (Vetor[i] <= pivo) && (i < dir) )
+			i++;
+
+		while (Vetor[j] > pivo) 
+			j--;
+
+		if (i < j) 
+			Troca(Vetor,j,i);
+	}
+	
+	Vetor[esq] = Vetor[j];
+	Vetor[j] = pivo;
+  	return j;
 }
 
 void QuickSortRecursivo (int Vetor[], int Esquerda, int Direita) {
-- 
GitLab