Skocz do zawartości
Forum Programowanie
Zaloguj się, aby obserwować  
dejopl

C Pointer na funkcję i funkcja time_t

Polecane posty

Witam,

mam problem z pointerem *zeit na funkcję isP oraz z funkcją t, która ma mierzyć czas działania funkcji isP. Bardzo proszę o poradę.

 

 

#include <stdio.h>#include <time.h>int isP(int zahl){int i, teiler = 0;for(i = 1; zahl > i; i++){   	if(zahl % i == 0)		teiler = teiler + i;}if(zahl == teiler)return 1;else return 0;}double t(int (*zeit)(int)){time_t begin, end;begin  = time (NULL);int i;(*zeit)(i);end = time (NULL);return difftime (end, begin);}int main(void){int n;printf(" Die perfekte Zahlen sind: ");for(n = 1; n <= 500; n++){   	if(isP(n) == 1)       	printf(" %d;", n);}printf("\nDie Zeit bis 5te perfekte Zahl gefunden wurde: %3.0f sec", t(isP));printf("\n\n");return 0;}

 

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Nie wiem w czym masz problem, mnie to działa. :)

Pamiętaj, że ->

 

 

int i;(*zeit)(i);

 

 

i - nie zawiera konkretnej wartości, równie dobrze może zawierać wartość 0 lub jakąś śmieciową z pamięci.

Mi dopiero przy wartości 100000000 czas wykonania funkcji trwał dłużej jak 1 s

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Bądź aktywny! Zaloguj się lub utwórz konto

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto

Zarejestruj nowe konto, to proste!

Zarejestruj nowe konto

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się
Zaloguj się, aby obserwować  

×