Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Paradgma

ordenação busca simples, busca binaria e contagem de t

Recommended Posts

Até o presente momento tenho o seguinte codigo, nesse codigo em X ele terá que fazer uma busca simples, e em Y uma busca binária. Cada uma dessas partes terá que fazer a contagem de tempo, de forma que calcule ate os milesimos de segundos. Isso terá que ser escrito em forma de lista.

 

#include <stdio.h>
#include <time.h>

void ordenar_vetor(int v[], const int tamanho)
{
     int i, j, temp;
     
     for(i = 0; i < tamanho - 1; i++){
             
         for(j = 0; j < tamanho - 1; j++){
             if(v[j] > v[j + 1]){
                 temp = v[j];
                 v[j] = v[j + 1];
                 v[j + 1] = temp;
             }
         }
     }
}

int main(){
    
    int i;
    const int tamanho = 50;
    
    int v[tamanho];
    
    /* coloca alguns números no vetor */
    for(i = 0; i < tamanho; i++){
        v[i] = rand() % 50;
        }
    /* mostra o vetor v desordenado */
    printf("\nVetor v desordenado:");
    for(i = 0; i < tamanho; i++){
        printf("%d\n", v[i]);
        }
        
    /* ordena o vetor em ordem crescente */
    ordenar_vetor(v, tamanho);
    
    /* mostra o vetor v ordenado */
    printf("\nVetor v Ordenado em Ordem Crescente:");
    for(i = 0; i < tamanho; i++){
        printf("%d\n", v[i]);
        }
        
    /* agora se quiser passar o vetor v ordenado para o vetor y, faz isso */
    int y[tamanho];
    for(i = 0; i < tamanho; i++){
        y[i] = v[i];
        }
    /* mostra o vetor y */
    printf("\nVetor y Ordenado em Ordem Crescente:\n");
    for(i = 0; i < tamanho; i++){
        printf("%d\n", y[i]);
        }
    //return 0;
   
    
     system("pause");
     return 0;
     
}

Resultado Final:arquivo.EXE

Observação: Não é um virus apenas um executavel com nome 50.exe - Indica 50 posições dentro da lista.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Isso é apenas um código pronto funcionando ou era p/ ser uma dúvida? Pq se for dúvida, especifique direito.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Isso é apenas um código pronto funcionando ou era p/ ser uma dúvida? Pq se for dúvida, especifique direito.

 

 

 

Na verdade, quero saber como funciona o codigo por tras desse programa. Preciso fazer um trabalho baseado nele.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Oras, se você já tem o código é só ler e executar num depurador p/ acompanhar passo a passo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom.. Tem 2 erros básicos.. Relaxa..

 

É só:

Colocar a biblioteca "#include <stdlib.h>" e,

Colocar o "srand(time(NULL))" para que os valores sejam gerados.

 

De resto...

 


#include <stdio.h>
#include <stdlib.h>
#include <time.h>

void ordenar_vetor(int v[], const int tamanho)
{
     int i, j, temp;
     
     for(i = 0; i < tamanho - 1; i++){
             
         for(j = 0; j < tamanho - 1; j++){
             if(v[j] > v[j + 1]){
                 temp = v[j];
                 v[j] = v[j + 1];
                 v[j + 1] = temp;
             }
         }
     }
}

int main(){
    
    int i;
    const int tamanho = 50;
    int v[tamanho];
    srand(time(NULL));
    
    /* coloca alguns números no vetor */
    for(i = 0; i < tamanho; i++){
        v[i] = rand() % 50;
        }
    /* mostra o vetor v desordenado */
    printf("\nVetor v desordenado:");
    for(i = 0; i < tamanho; i++){
        printf("%d\n", v[i]);
        }
        
    /* ordena o vetor em ordem crescente */
    ordenar_vetor(v, tamanho);
    
    /* mostra o vetor v ordenado */
    printf("\nVetor v Ordenado em Ordem Crescente:");
    for(i = 0; i < tamanho; i++){
        printf("%d\n", v[i]);
        }
        
    /* agora se quiser passar o vetor v ordenado para o vetor y, faz isso */
    int y[tamanho];
    for(i = 0; i < tamanho; i++){
        y[i] = v[i];
        }
    /* mostra o vetor y */
    printf("\nVetor y Ordenado em Ordem Crescente:\n");
    for(i = 0; i < tamanho; i++){
        printf("%d\n", y[i]);
        }
    //return 0;
   
    
     system("pause");
     return 0;
     
}


 

Eis o código correto..

 

ACho que o mais coerente é você fazer o que nossa amiga aí em cima disse, Leia o código além do mais.. ele está todo comentado..

 

Qualquer dúvida posta aqui. Dúvidas..

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.