s e 7 e n
Power Member
Boas
Ando aqui as voltas para conseguir meter isto a trabalhar...
Quero saber quando tempo demora uma determinada função demora a executar, mas quero um output tipo 2.42347 segundos e não 2 segundos.
Se usar uma coisa deste genero:
Codigo do site C++ alterado
Dá-me uma coisa do genero 2 segundos
Na versão original do codigo mostrava correctamente, mas tinha diferenças:
O problema esta que eu não sei converter o %.2lf que esta no printf para cout...
Mas tinha aqui outro exemplo de codigo que pensava que estava a trabalhar bem, porque foi o prof de outra cadeira que tinha arranjado o source.
Aqui mesmo usando um cout sem o %6.3f mostra-me como eu quero, mas o tempo não esta correcto, porque diz que demorou por exemplo 0.2344 segundos e eu sei que devem ter sido uns 2 segundos a executar...
Alguem sabe de uma boa maneira para solucionar isto?
Ando aqui as voltas para conseguir meter isto a trabalhar...
Quero saber quando tempo demora uma determinada função demora a executar, mas quero um output tipo 2.42347 segundos e não 2 segundos.
Se usar uma coisa deste genero:
Código:
/* difftime example */
#include <stdio.h>
#include <time.h>
int main ()
{
time_t start,end;
double dif;
time (&start);
//CODIGO...
time (&end);
dif = difftime (end,start);
cout << "It took " << dif << " seconds";
return 0;
}
Dá-me uma coisa do genero 2 segundos
Na versão original do codigo mostrava correctamente, mas tinha diferenças:
printf ("It took you %.2lf seconds to type your name.\n", dif );
O problema esta que eu não sei converter o %.2lf que esta no printf para cout...
Mas tinha aqui outro exemplo de codigo que pensava que estava a trabalhar bem, porque foi o prof de outra cadeira que tinha arranjado o source.
Código:
clock_t T1,T2;
T1=clock();
multiply_matrices_C((unsigned short *)A,(unsigned short *)B,(unsigned int *)C,m,n,s);
T2=clock();
//Verificacao e Resultados
printf("A sua rotina executou em %6.3f segundos.",(((double)(T2-T1))/CLOCKS_PER_SEC));
Aqui mesmo usando um cout sem o %6.3f mostra-me como eu quero, mas o tempo não esta correcto, porque diz que demorou por exemplo 0.2344 segundos e eu sei que devem ter sido uns 2 segundos a executar...
Alguem sabe de uma boa maneira para solucionar isto?