AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Bubblesort + Zeitstoppung

Ein Thema von de_vine · begonnen am 17. Okt 2008 · letzter Beitrag vom 17. Okt 2008
Antwort Antwort
de_vine

Registriert seit: 17. Okt 2008
10 Beiträge
 
#1

Bubblesort + Zeitstoppung

  Alt 17. Okt 2008, 18:35
Hallo habe ein Delphi projkt soll noch ZEITSTOPPUNG einbauen.
BITTE UM HILFE!

BUBBLESORT:

var
Form1: TForm1;
Z:ARRAY[1..1000]OF INTEGER;
I,E,D,HILF:INTEGER;
implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
E:=STRTOINT(Edit1.Text);
Memo1.Text:='';
Memo2.Text:='';

I:=1;
REPEAT
BEGIN Z[I]:=Random(100);
I:=I+1;
END;
UNTIL I=E+1;

I:=1;
REPEAT
BEGIN
Memo1.Lines.Add(inttostr(Z[I]));
I:=I+1;
END;
UNTIL I=E+1;

D:=E;
REPEAT
BEGIN
I:=1;
REPEAT
BEGIN
IF Z[I]>Z[I+1] THEN
BEGIN HILF:=Z[I];
Z[I]:=Z[I+1];
Z[I+1]:=HILF;
END;
I:=I+1;
END;
UNTIL I=D;
D:=D-1
END;
UNTIL D=1;

i:=1;
Repeat
Begin
Memo2.Lines.Add(inttostr(Z[i]));
i:=i+1;
End;
UNTIL I=E+1;


end;

end.

Das ist ein lauffähiges Bubblesort soll noch stoppung einbauen.
und zwar so ungefähr:

Infos zur Zeitstoppung in DELPHI

procedure TForm1.Button1Click(Sender: TObject); 16.10.2008
var z: Array of Integer;
var i,h,e: Integer;
zeitpunkt1, zeitpunkt2, Dauer : real; // in Tagen!!!
begin
. . .
zeitpunkt1:=time;

// der eigentliche Sortiervorgang

Zeitpunkt2:=time;
dauer:= (zeitpunkt2-zeitpunkt1)*24*3600; // in s
edit2.Text:=floattostr(dauer);
. . .
end;



muss das 2te iwie in das erste einbauen
danke im voraus!
  Mit Zitat antworten Zitat
Noedel
(Gast)

n/a Beiträge
 
#2

Re: Bubblesort + Zeitstoppung

  Alt 17. Okt 2008, 18:39
ja, dann nimmst du am besten gettickcount für die zeitnahme...
ungefähr so


start:=gettickcount;
bubble(meinarray);
ende:=gettickcount;
gesamt:=ende-anfang; //in ms

ich glaube wohl kaum, dass du, um 1000 zahlen zu sortieren "tage" brauchen wirst
  Mit Zitat antworten Zitat
de_vine

Registriert seit: 17. Okt 2008
10 Beiträge
 
#3

Re: Bubblesort + Zeitstoppung

  Alt 17. Okt 2008, 18:41
ja ber ich weiss nicht wo ich das eintragen soll!
  Mit Zitat antworten Zitat
Benutzerbild von malo
malo

Registriert seit: 19. Sep 2004
2.115 Beiträge
 
#4

Re: Bubblesort + Zeitstoppung

  Alt 17. Okt 2008, 18:53
Den Ansatz hast du doch selbst. "zeitpunkt1" und "zeitpunkt2" musst du beide auf GetTickCount setzen, nicht auf "time".

Aber aufpassen: Die Zeiten werden angegeben in Millisekunden, um auf Sekunden zu kommen musst du das also mit 1000 multiplizieren durch 1000 teilen.

edit: Fehler durchgestrichen und korrigiert, sorry
  Mit Zitat antworten Zitat
Benutzerbild von Dunkel
Dunkel

Registriert seit: 26. Mär 2007
Ort: Klingenstadt
541 Beiträge
 
Delphi 2007 Enterprise
 
#5

Re: Bubblesort + Zeitstoppung

  Alt 17. Okt 2008, 19:03
Zitat von malo:
Aber aufpassen: Die Zeiten werden angegeben in Millisekunden, um auf Sekunden zu kommen musst du das also mit 1000 multiplizieren.
...um dann auf Mikrosekunden zu kommen? Eher durch 1000 dividieren.
Es ist zu wahr um schön zu sein...
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:39 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz