Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Probleme mit Mergesort (https://www.delphipraxis.net/18666-probleme-mit-mergesort.html)

walker 22. Mär 2004 22:58


Probleme mit Mergesort
 
Liste der Anhänge anzeigen (Anzahl: 1)
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]

Luckie 22. Mär 2004 23:02

Re: Wer kann mir helfen?
 
Herzlich Willkommen in der DP. :hi:

Ä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.

Markus K. 22. Mär 2004 23:08

Re: Wer kann mir helfen?
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo walker,
ich habe dein Programm gerade getestet. Der MergeSort-Algorithmus scheint bestens zu funktionieren(siehe Anhang).

Tschüß Markus

walker 22. Mär 2004 23:15

Re: Probleme mit Mergesort
 
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

Markus K. 23. Mär 2004 12:25

Re: Probleme mit Mergesort
 
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


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:24 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