Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

[C] Funkcja clock()

Ostatnio zmodyfikowano 2015-06-16 14:57
Autor Wiadomość
Roofy5
Temat założony przez niniejszego użytkownika
[C] Funkcja clock()
» 2015-06-12 17:43:26
Witam

Mam pewien problem z funkcją clock().
Otóż kiedy do jednej zmiennej przypisuję wartość zwracaną przez clock(), wykonam pewną funkcję, a następnie przypiszę do drugiej zmiennej ponownie wartość z clock(), to te wartości są identyczne.

Oto mój kod:

C/C++
#include <time.h>
.
.
.
clock_t czas1, czas2;
int wynik = 0;

czas1 = clock();
wynik = szukajTab( tablica, ILOSC, x );
czas2 = clock();
printf( "Poszukiwanie x w tablicy: %d\n", wynik );
printf( "Czas: %lf\n\n", czas2 - czas1 );

Funkcja szukajTab() przeszukuje tablicę o rozmiarze 10000000 i zwraca 1 lub 0. Na oko trwa to 2-3 sek, ale czas2 i tak równa się czas1.
Poradzicie co jest nie tak??
P-133488
Monika90
» 2015-06-12 18:03:17
Prawdopodobnie %lf to nie jest odpowiedni format dla tego co zwraca clock() w używanej przez ciebie implementacji
P-133490
pekfos
» 2015-06-12 18:53:59
Na oko trwa to 2-3 sek
To pierwsze uruchomienie programu po kompilacji?
P-133491
Roofy5
Temat założony przez niniejszego użytkownika
» 2015-06-12 21:22:09
Nie bardzo wiem co masz na myśli - próbowałem uruchamiać program także przez exe ale problem nadal jest ten sam
P-133494
pekfos
» 2015-06-12 22:11:17
A poprawiłeś wcześniej wskazany błąd..? Powinno być np %d, a nie %lf.
P-133497
stevy
» 2015-06-12 22:24:36
podziel przez CLOCKS_PER_SEC to co chcesz wypisać, i użyj %f przy wypisywaniu
P-133498
pekfos
» 2015-06-12 23:07:39
podziel przez CLOCKS_PER_SEC to co chcesz wypisać, i użyj %f przy wypisywaniu
Nie zadziała.
P-133501
stevy
» 2015-06-12 23:55:35
zapomniałem o rzutowaniu na float, przepraszam. Założyłem, że i tak będzie potrzebował czasu nie w milisekundach, więc podzielenie przez stałą będzie konieczne
P-133503
« 1 » 2 3 4
  Strona 1 z 4 Następna strona