Oublie ^^
@étoile de mer : Il faut que tu cast ton expression en type flottant (double?) :)
Version imprimable
Certainement parce que le temps est trop court. Essaye cela :
Pour ajouter du temps entre le début et la finCode:
1
2
3
4
5
6
7 int tempsDebut = clock(); // traitement du programme printf("clock() = %i\n", (int)clock()); printf("tempsDebut = %i\n", tempsDebut); Sleep(1000); /* ou sleep(1), je ne connais pas ton OS */ int tempsExec=clock()-tempsDebut; printf("tempsExec = %i\n", tempsExec);
c'est la meme chose , le 0 aussi qui s'affihce :?Code:
1
2
3
4
5 // traitement du programme printf("clock() = %i\n", (int)clock()); printf("tempsDebut = %i\n", tempsDebut); int tempsExec=(double)(clock()-tempsDebut)/CLOCKS_PER_SEC; printf("tempsExec = %i\n", tempsExec);
Code:
1
2 double tempsExec=(double)(clock()-tempsDebut)/CLOCKS_PER_SEC; printf("tempsExec = %lf\n", tempsExec);
En POSIX, cela vaut 100'000 ou 1'000'000 je crois, alors que sous MS ça vaut 1'000 (en tout cas avec MINGW).
Tout cela c'est implémentation-définit. 0 seconde, c'est très probable. Essaye en milliseconde plutôt (const long CLK_PER_MS = CLOCKS_PER_SEC / 1000).
MErci Jenna , là j'obtiens 0.06secondes :)
c'est bien :)
merci
Ah, ce qui m'a perdu c'est que le "traitement" en commentaire était un vrai traitement dans le vrai programme, 2 pages pour résoudre un problème aussi trivial ...
Plutôt const long CLK_PER_MS = (long)(CLOCKS_PER_SEC / 1000.0). Le cast sert juste à supprimer le warning. On peut également arrondir le rapport plutôt que de simplement le tronquer.Citation:
Envoyé par Lavock