Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   [HILFE] Bubble Sort (https://www.delphipraxis.net/115702-%5Bhilfe%5D-bubble-sort.html)

BullsEye 16. Jun 2008 15:55


[HILFE] Bubble Sort
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo Leute,

Morgen schreiben wir unsere letzte Delphi Klausur. Ein Teil der Arbeit wird der Bubblesort sein. Und um nocheinmal sicher zu gehen, wollte ich einmal fragen, ob ihr einen Fehler findet bzw ob der Code so richtig ist. Ich hab ihn selbst geschrieben!!!
Im Anhang findet ihr das Struktogramm! Wäre euch sehr Dankbar!

Delphi-Quellcode:
VAR
   wert: ARRAY [0..4] of INTEGER;
<~ Globale Variablen ~>

PROCEDURE 'Zufallszahlen erstellen';   // 1 Benötigt: Zufallszahlen generieren
VAR i : INTEGER;             // Schleifenvariable
BEGIN
   Randomize;            // Zufallsgenerator einleiten
   FOR i := 0 TO 4 DO         // Schleife von 0 bis 4 (5 Durchläufe)
   BEGIN
      wert[i] := Random(100)+1;   // Wert bekommt 5 Zufallszahlen bis 100 
      ListBox1.Items.Add(IntToStr(wert[i])); << Zufallszahlen ausgeben
   END;
END;
<~ 5 Zufallszahlen von 0 bis 100 wählen ~>

PROCEDURE 'Bubble Sort';      // 2 Benötig: Sortieralgorithmus
VAR i , j , help : INTEGER;      // 2 Schleifenvariablen und 1 Hilfsvariable
BEGIN
   FOR j := length(wert)-2 DOWNTO 0 DO // Schleife von j-2 bis 0 runterzählen
   BEGIN
      FOR i := 0 TO j DO       // Schleife von 0 bis j
 // Hier wird I auf Null (0) gesetzt!!! Wichtig, sonst kann i jeden beliebigen Wert haben.
      BEGIN
         IF wert[i] > wert[i+1] THEN // Fallunterscheidung
         BEGIN
            help := wert[i]; // Wert wird der Hilfevar zugewiesen
            wert[i] := wert[i+1]; // Wert immer um 1 hoch
            wert[i+1] := help;   // Hilfsvar auf Wert +1 
         END;
      END;
   END;

   FOR i := 0 TO 4 DO         // Schleife von 0 bis 4 (5 Durchläufe)
   BEGIN
      ListBox2.Items.Add(IntToStr(wert[i])); // Ausgabe der einzelnen Werte
   END;
END;
<~ Bubble Sort Algorithmus ~>

DeddyH 16. Jun 2008 15:59

Re: [HILFE] Bubble Sort
 
2 Dinge fallen mir auf:
- Randomize sollte einmalig aufgerufen werden (z.B. OnCreate)
- Length bei statischen Arrays? Nimm doch lieber gleich 2, die Zahl weißt Du doch

Ansonsten habe ich auf die Schnelle nichts entdecken können.

shmia 16. Jun 2008 16:03

Re: [HILFE] Bubble Sort
 
Zitat:

Zitat von DeddyH
Ansonsten habe ich auf die Schnelle nichts entdecken können.

Aber hallo, was ist dann das: ?? :zwinker:
Delphi-Quellcode:
PROCEDURE 'Zufallszahlen erstellen';

BullsEye 16. Jun 2008 17:25

Re: [HILFE] Bubble Sort
 
Zitat:

Zitat von DeddyH
2 Dinge fallen mir auf:
- Randomize sollte einmalig aufgerufen werden (z.B. OnCreate)
- Length bei statischen Arrays? Nimm doch lieber gleich 2, die Zahl weißt Du doch

Ansonsten habe ich auf die Schnelle nichts entdecken können.

Das mit dem Lenght war Vorgabe. Ok, gut über das Randomize lässt sich streiten aber ok kommt das ins OnForm Create ;)


Zitat:

Zitat von shmia
Zitat:

Zitat von DeddyH
Ansonsten habe ich auf die Schnelle nichts entdecken können.

Aber hallo, was ist dann das: ?? :zwinker:
Delphi-Quellcode:
PROCEDURE 'Zufallszahlen erstellen';


Das hab ich nur auf die schnelle genommen. Ist ne Zusammenfassung. Das das nicht geht weiß ich ;)


Danke fürs nachgucken!


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:37 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz