AGB  ·  Datenschutz  ·  Impressum  







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

[HILFE] Bubble Sort

Ein Thema von BullsEye · begonnen am 16. Jun 2008 · letzter Beitrag vom 16. Jun 2008
Antwort Antwort
BullsEye

Registriert seit: 8. Sep 2007
Ort: Werlte
872 Beiträge
 
Delphi 7 Personal
 
#1

[HILFE] Bubble Sort

  Alt 16. Jun 2008, 16:55
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 ~>
Miniaturansicht angehängter Grafiken
bubblesort_862.jpg  
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.624 Beiträge
 
Delphi 12 Athens
 
#2

Re: [HILFE] Bubble Sort

  Alt 16. Jun 2008, 16:59
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.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#3

Re: [HILFE] Bubble Sort

  Alt 16. Jun 2008, 17:03
Zitat von DeddyH:
Ansonsten habe ich auf die Schnelle nichts entdecken können.
Aber hallo, was ist dann das: ??
PROCEDURE 'Zufallszahlen erstellen';
Andreas
  Mit Zitat antworten Zitat
BullsEye

Registriert seit: 8. Sep 2007
Ort: Werlte
872 Beiträge
 
Delphi 7 Personal
 
#4

Re: [HILFE] Bubble Sort

  Alt 16. Jun 2008, 18:25
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 von shmia:
Zitat von DeddyH:
Ansonsten habe ich auf die Schnelle nichts entdecken können.
Aber hallo, was ist dann das: ??
PROCEDURE 'Zufallszahlen erstellen';

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


Danke fürs nachgucken!
  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 02:11 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