AGB  ·  Datenschutz  ·  Impressum  







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

Probleme mit Mergesort

Ein Thema von walker · begonnen am 22. Mär 2004 · letzter Beitrag vom 23. Mär 2004
Antwort Antwort
walker

Registriert seit: 22. Mär 2004
Ort: Geraberg
2 Beiträge
 
#1

Probleme mit Mergesort

  Alt 22. Mär 2004, 23:58
Ich habe bei folgendem Quellcode ein Problem (im Attachement)

Code entfernt, da wohl im Anhang.

Das Problem liegt bei dem Mergesort Algorithmus. Es wird nicht nichts ausgegeben, das heißt, ich weiss nicht mal ob der Algorithmus funzt. Eigentlich sollte er funktionieren, es gibt keine Fehlermeldungen.

Es gibt keine Fehlermeldungen. Es soll ein Array sortiert werden (statischer Array). Dieser sollte dann eigentlich in einer ListBox ausgegeben werden. Es wird aber nicht sortiert ausgegeben, das heisst, wie man es eingibt so wird es ausgegeben. Die Der Array ist vom Typ extended.

Ich sitze jetzt schon 2 Wochen daran und komme absolut nicht weiter.

Wer kann mir helfen?

Ich wäre sehr dankbar, wenn mir jemand helfen würde.

PS : Im Attachement ist der komplette Code, der bisher fertig ist.

MfG
walker

[edit=Luckie]Code entfernt. Mfg, Luckie[/edit]
Angehängte Dateien
Dateityp: zip sort.zip (220,4 KB, 9x aufgerufen)
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#2

Re: Wer kann mir helfen?

  Alt 23. Mär 2004, 00:02
Herzlich Willkommen in der DP.

Ändert bitte den Titel deines Thread. "Wer kann mir helfen" ist nicht sehr aussagekräftig.

Desweiteren poste bitte beim nächsten Mal nur den relevanten Codeteil und gibt genau an, was nicht klappt bzw. was es eigentlich tun sollte aber nicht tut und eventuell Fehlermeldung.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Markus K.

Registriert seit: 26. Jan 2004
Ort: Halle
346 Beiträge
 
Delphi 2005 Personal
 
#3

Re: Wer kann mir helfen?

  Alt 23. Mär 2004, 00:08
Hallo walker,
ich habe dein Programm gerade getestet. Der MergeSort-Algorithmus scheint bestens zu funktionieren(siehe Anhang).

Tschüß Markus
Miniaturansicht angehängter Grafiken
bild2_339.jpg  
  Mit Zitat antworten Zitat
walker

Registriert seit: 22. Mär 2004
Ort: Geraberg
2 Beiträge
 
#4

Re: Probleme mit Mergesort

  Alt 23. Mär 2004, 00:15
Ja, nur wo liegt in dem Quellcode das Problem, weil die Ausgabe nicht funktioniert?

Du darfst nicht erst Selectionsort durchführen, weil dann der Array inhalt von Selectionsort kopiert wird. Klicke zuerst auf Mergesort. Dann funktioniert es nicht mehr

MfG
walker
  Mit Zitat antworten Zitat
Markus K.

Registriert seit: 26. Jan 2004
Ort: Halle
346 Beiträge
 
Delphi 2005 Personal
 
#5

Re: Probleme mit Mergesort

  Alt 23. Mär 2004, 13:25
Hi Walker,
habe mir so eben dein Programm nochmal angeschaut. Als erstes etwas zu MergeSort.
Wenn ich auf den Button MergeSort drücke, wird nur folgender Code ausgeführt:
Delphi-Quellcode:
procedure mischsortiere (links, rechts : integer);
var mitte : integer;
begin
        if feld[links] < feld[rechts] then
        begin
                mitte := (links + rechts) div 2;
                mischsortiere (links, mitte);
                mischsortiere (mitte + 1, rechts);
        end;
end;
begin
        mischsortiere(1, count);
        begin
                for i := 1 to count do
                        ListBox3.Items.Add(FloatToStr(feld[i]));
        end;
end;
Es werden dabei nur die Zahlen in der Reihenfolge ausgegeben, wie sie in der ListBox1 stehen, sprich sie sind noch unsortiert.
Die Prozedur mische wird bei Drücken des Button nicht mit aufgerufen.
Ich würde vorschlagen(wegen besserer Übersicht), dass du die einzelnen Prozeduren in private bzw public deklarierst und sie nicht alle in einer Prozedur vereinbarst.
Desweiteren würde ich vorschlagen, das du dem Edit1 die OnKeyPress Methode zuweist und nicht der gesamten Form.
Die Prozedur Fenster_leeren würde ich ebenfalls unter private/public deklarieren.
z.B:
Delphi-Quellcode:
private
    { Private-Deklarationen }
    procedure fenster_leeren (var n : integer);
Tschüß Markus
  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 21:44 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