Ir para conteúdo
Fórum Script Brasil
  • 0

Tempo De Execução De Um Programa Em C


FilipeXVS

Pergunta

Boa noite pessoal, estou fazendo um trabalho pra uma cadeira de algoritmos que é baseado na analise de algoritmos de fibonacci.Eu teria que saber o tempo de execução do algoritmo, teria alguma maneira de fazer isso em C?

Desculpem se a pergunta é meio boba, mas faz muito tempo que não mecho com C, preciso mesmo pra fazer o trabalho =)

Abraço a todos

Link para o comentário
Compartilhar em outros sites

7 respostass a esta questão

Posts Recomendados

  • 0

Aqui está o código para C:

clock_t t0, tf;
   double tempo_gasto;
   t0 = clock();
   ...
   tf = clock();
   tempo_gasto = ( (double) (tf - t0) ) / CLOCKS_PER_SEC;
   printf("Tempo gasto: %lf s\n", tempo_gasto);

Mas dá para fazer no linux também com o comando time

Link para o comentário
Compartilhar em outros sites

  • 0

Antes de dividir por CLOCKS_PER_SEC, divide essa constante por 1000

tempo_gasto = ((double)(tf - to) / (((double)CLOCKS_PER_SEC)/1000);

Link para o comentário
Compartilhar em outros sites

  • 0

pessoal, fiz aqui uma funçao que ordena elementos de um vetor.... mas não consegui usar a funçao que mede o tempo de execuçao

alguém pode me dizer o que fiz errado? estou no DevC++

vlw!

void selecao(int *v, int n, int *comp, int *mov, double *tempo){
     *comp = 0;
     *mov = 0;
     clock_t t0, tf;
     t0 = clock();
     int i, j;
     int min, aux;
     for(i=1;i<=n;i++){
        min = i;
        for(j=i+1;j<=n;j++){
           if(v[j] < v[min])
           min = j;
           *mov += 1;
        *comp += 1;
        } //for
        aux = v[i];
        v[i] = v[min];
        v[min] = aux;
        *mov += 3;
     } //for
     tf = clock();
     *tempo = ((double) (tf - t0))/(CLOCKS_PER_SEC);
}

Link para o comentário
Compartilhar em outros sites

  • 0
Mas o que dá errado?

Outra coisa: é realmente necessário que a função receba tantos ponteiros assim?

já percebi o q tava errado =)

ele recebe esse tanto de ponteiro porque eu preciso de imprimir essas variaveis depois em um arquivo de saida .txt

e so sei fazer assim =P

Link para o comentário
Compartilhar em outros sites

  • 0

Legal que conseguiu resolver! :)

Eu pessoalmente não gosto de fazer desta forma pois fica complicado de entender o código.

Uma alternativa seria criar uma estrutura que seria retornada pela função. Esta estrutura conteria os dados necessários, servindo até mesmo para passar como parâmetro a outras funções.

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...