Funkcja GetTime działa nieprawidłowo

0

Witam, na zadanie miałem program który policzy czas wyłapywania liczb pierwszych za pomoca sita eratostenesa.
Napisałem to tak, ze przed algorytmem uzyłem gettime a nastepnie po jego wykonaniu.
Problem w tym, ze po wypisaniu tych czasów pokazuje mi mocno nieprawidłowe wartości. Np róznicę godziny czy 20 minut, choć naprawde to okolo 7 sekund dla miliona liczb. Może ktoś pomóc? załączam kod programu

program liczbypierwsze;
uses dos;
var
  tablica:array of boolean;
  godz,min,sek,sek100,godz_2,min_2,sek_2,sek100_2:word;
  size:longint;
  i:longint;
  wielokrotnosc:longint;
begin
  readln(size);
  setlength(tablica,size+1);
  gettime(godz,min,sek,sek100);

  for i := 2 to size do tablica[i]:=true;

  for i := 2 to round(sqrt(size)) do
      if tablica[i] then
      begin
        wielokrotnosc:=i*i;
        while (wielokrotnosc <= size) do
        begin
          tablica[wielokrotnosc]:=false;
          inc(wielokrotnosc,i);
        end;
      end;
   for i:=2 to size do
       if tablica[i] then write(i,' ');
   gettime(godz_2,sek_2,min_2,sek100_2);
   writeln;
   writeln('____________________________________');
   writeln('czas 1 ',godz,':',min,':',sek,':',sek100);
   writeln('czas 2 ',godz_2,':',min_2,':',sek_2,':',sek100_2);

   readln;
end.

sformatowanie posta, zmiana tytułu wątku oraz poprawienie tagów - fp

1
var tm:TDateTime;
...
tm:=Now;
...
tm:=Now-tm;
WriteLn(TimeToStr(tm));
0

ale w pascalu chyba to nie bedzie działac...

1
gettime(godz_2,sek_2,min_2,sek100_2); 

Co to jest?

0

W programie zapisuje czas przed wykonaniem i po wykonaniu.
godz,min,sek,sek100 - wartosci godziny minuty itp przed wykonaniem
godz_2,min_2,sek100_2 - wartosci ... po wykonaniu.
Na końcu program wyswietla oba czasy.

0

o rany. to z przemęczenia, przepraszam

1 użytkowników online, w tym zalogowanych: 0, gości: 1