diff --git a/Quadra.c b/Quadra.c index bb78a8fa01d0adc0eda3044c2b10a4aba752cdb7..b6256c2b3c7c1e248c9358f9f8b90e92c0f442bd 100644 --- a/Quadra.c +++ b/Quadra.c @@ -166,7 +166,7 @@ int main (void) switch (menu) { case 1: - printf ("1 - Mostrar menu\n2 - Imprimir Vetor de Numeros Aleatorios\n3 - Imprimir Vetor Ordenado\n4 - Jogar\n5 - Fazer jornada dos 10.000 vetores\n0 - Sair\n"); + printf ("1 - Mostrar menu\n2 - Imprimir Vetor de Numeros Aleatorios\n3 - Imprimir Vetor Ordenado\n4 - Jogar\n5 - Fazer jornada dos 10.000 vetores\n6 - Recomeçar\n0 - Sair\n"); break; case 2: fputs("O usuario escolheu a opcao 2, e foi exibido o vetor sorteado de numeros aleatorios\n",log); @@ -183,12 +183,29 @@ int main (void) case 5: fputs("O usuario escolheu a opcao 5, e comeca a jorndada de 10.000 vetores\n",log); jornada(Tam, max, log); + break; + case 6: + fputs("O usuario escolheu a opcao 6, para reiniciar os valores de tamanho e maximo\n",log); + free (vet); + free(vet_ord); + printf ("Entre com tamanho de vetor: "); + scanf ("%d", &Tam); + fprintf(log, "O usuario escolheu um vetor de tamanho %d\n",Tam); + printf ("Entre com valor maximo dos numeros aleatorios: "); + scanf ("%d", &max); + fprintf(log, "O usuario escolheu valor maximo que o vetor pode ter, esse valor eh : %d\n",max); + vet = (int *) malloc ((Tam+1) * sizeof(int)); + vet_ord = (int *) malloc ((Tam+1) * sizeof(int)); + vetSort(vet, vet_ord, Tam, max); + QuickSort_it(vet_ord, Tam); + fprintf(log,"Foi alocado 2 vetores de tamanho %d com o valor maximo de %d, com os numeros sorteados, sendo um deles já ordenado\n",Tam,max); + break; } printf ("\nNova Entrada: "); scanf ("%d", &menu); if (menu ==1) - fputs("O usuario escolheu a opcao 1, e foi exibido o menu, onde:\n 1 - Mostra o menu\n 2 - Imprime Vetor de Numeros Aleatorios\n 3 - Imprime Vetor Ordenado\n 4 - Joga a Quadra \n 5 - Faz a jornada dos 10.000 vetores\n 0 - Sai\n",log); + fputs("O usuario escolheu a opcao 1, e foi exibido o menu, onde:\n 1 - Mostra o menu\n 2 - Imprime Vetor de Numeros Aleatorios\n 3 - Imprime Vetor Ordenado\n 4 - Joga a Quadra \n 5 - Faz a jornada dos 10.000 vetores\n 6 - Recomeca\n 0 - Sai\n",log); } diff --git a/Quadra.exe b/Quadra.exe index 02add5749149cdb9e3271b9308f9f667efb664c2..47ccd23866d5342377a5dfe4a57d7915a2d05c4d 100755 Binary files a/Quadra.exe and b/Quadra.exe differ diff --git a/Quadra.exe.dSYM/Contents/Resources/DWARF/Quadra.exe b/Quadra.exe.dSYM/Contents/Resources/DWARF/Quadra.exe index ec8b0f6fc75f6fa17cf9b100ff78b19ad476e597..51018e913c56a386becba888618aa4f3e63b9031 100644 Binary files a/Quadra.exe.dSYM/Contents/Resources/DWARF/Quadra.exe and b/Quadra.exe.dSYM/Contents/Resources/DWARF/Quadra.exe differ diff --git a/Relatorio.txt b/Relatorio.txt index da29ac038c8be93fcfa3483876fffc482ccff67a..d0b85d48240551623bea9c61dc9f1b57493d4e1a 100644 --- a/Relatorio.txt +++ b/Relatorio.txt @@ -10,7 +10,7 @@ Ocorreram varios problemas na particao: na primeira versao do algoritmo, se a mediana nao fosse o primeiro elemento da esquerda, por algum motivo alguns valores ficavam no lugar errado na segunda versao novamente tivemos problemas com valores ficando no lugar errado, dessa vez descobrimos ser um problema com a escolha de índices para i -Ambos os quicksorts foram simplese de fazer, assim que a particao ficou certa +Ambos os quicksorts foram simples de fazer, assim que a particao ficou certa Um dos maiores problemas encontrados no programa principal foi com o tratamento de vetores Por algum motivo, ainda desconhecido por nós, se alocavamos memoria diff --git a/busca.o b/busca.o index 4966c7712a2bf058db8ca485324678a2cce145a3..152847d8f1d2edc9ebf4733511b200756d6bd3ba 100644 Binary files a/busca.o and b/busca.o differ diff --git a/libbusca.a b/libbusca.a index befb9a668f65669d1613505496c9924f397c30e1..b31027eaf21f5db51fb281956287ca2c4e52a4af 100644 Binary files a/libbusca.a and b/libbusca.a differ diff --git a/log.txt b/log.txt index 332d8e8f4af0537d797a5f52ca755bbc0e167af7..c70b4dc796967130207af51299cf9ff613c1a681 100644 --- a/log.txt +++ b/log.txt @@ -2,18 +2,50 @@ Inicio da execucao: programa que implementa as especificacoes do trabalho 2. Cristopher Luis Mattoso, Matheus Horstmann =================================================================================== -O usuario escolheu um vetor de tamanho 50 -O usuario escolheu valor maximo que o vetor pode ter, esse valor eh : 500 -Foi alocado 2 vetores de tamanho 50 com o valor maximo de 500, com os numeros sorteados, sendo um deles já ordenado -O usuario escolheu a opcao 3, e foi exibido o vetor sorteado de numeros aleatorios ordenado -O usuario escolheu a opcao 4, e comeca o jogo. - O usuario entrou com os seguintes valores : [249, 372, 479, 495] - Sucesso! Os numero inseridos estao contidos no vetor: [249, 372, 479, 495] +O usuario escolheu um vetor de tamanho 10 +O usuario escolheu valor maximo que o vetor pode ter, esse valor eh : 100 +Foi alocado 2 vetores de tamanho 10 com o valor maximo de 100, com os numeros sorteados, sendo um deles já ordenado O usuario escolheu a opcao 5, e comeca a jorndada de 10.000 vetores - SelectSort: -584 micro-segundos - BubbleSort: -14 micro-segundos - QuickSort Recursivo: -989 micro-segundos - QuickSort Iterativo: 1988 micro-segundos + SelectSort: 2403 micro-segundos + BubbleSort: 2194 micro-segundos + QuickSort Recursivo: 2798 micro-segundos + QuickSort Iterativo: 4390 micro-segundos +O usuario escolheu a opcao 6, para reiniciar os valores de tamanho e maximo +O usuario escolheu um vetor de tamanho 100 +O usuario escolheu valor maximo que o vetor pode ter, esse valor eh : 1000 +Foi alocado 2 vetores de tamanho 100 com o valor maximo de 1000, com os numeros sorteados, sendo um deles já ordenado +O usuario escolheu a opcao 5, e comeca a jorndada de 10.000 vetores + SelectSort: 162625 micro-segundos + BubbleSort: 273501 micro-segundos + QuickSort Recursivo: 40661 micro-segundos + QuickSort Iterativo: 52554 micro-segundos +O usuario escolheu a opcao 6, para reiniciar os valores de tamanho e maximo +O usuario escolheu um vetor de tamanho 1000 +O usuario escolheu valor maximo que o vetor pode ter, esse valor eh : 10000 +Foi alocado 2 vetores de tamanho 1000 com o valor maximo de 10000, com os numeros sorteados, sendo um deles já ordenado +O usuario escolheu a opcao 5, e comeca a jorndada de 10.000 vetores + SelectSort: 14538028 micro-segundos + BubbleSort: 31624819 micro-segundos + QuickSort Recursivo: 1029530 micro-segundos + QuickSort Iterativo: 1252881 micro-segundos +O usuario escolheu a opcao 6, para reiniciar os valores de tamanho e maximo +O usuario escolheu um vetor de tamanho 500 +O usuario escolheu valor maximo que o vetor pode ter, esse valor eh : 5000 +Foi alocado 2 vetores de tamanho 500 com o valor maximo de 5000, com os numeros sorteados, sendo um deles já ordenado +O usuario escolheu a opcao 5, e comeca a jorndada de 10.000 vetores + SelectSort: 3749440 micro-segundos + BubbleSort: 7549313 micro-segundos + QuickSort Recursivo: 417344 micro-segundos + QuickSort Iterativo: 484503 micro-segundos +O usuario escolheu a opcao 6, para reiniciar os valores de tamanho e maximo +O usuario escolheu um vetor de tamanho 10000 +O usuario escolheu valor maximo que o vetor pode ter, esse valor eh : 100000 +Foi alocado 2 vetores de tamanho 10000 com o valor maximo de 100000, com os numeros sorteados, sendo um deles já ordenado +O usuario escolheu a opcao 5, e comeca a jorndada de 10.000 vetores + SelectSort: 1425711699 micro-segundos + BubbleSort: -2147483648 micro-segundos + QuickSort Recursivo: 14039047 micro-segundos + QuickSort Iterativo: 14615218 micro-segundos ================================================================================== FIM DO PROGRAMA ==================================================================================