Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   merge sort -komischer error (https://www.delphipraxis.net/186849-merge-sort-komischer-error.html)

zeustates 6. Okt 2015 15:44

Delphi-Version: 5

merge sort -komischer error
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo,
ich hoffe dass ich das an der richtigen stelle poste.
Ich habe eine klasse für den Merge sort geschrieben. jetzt bekomme ich wenn ich die einlesen procedure ausführe einen sigsegev error bei einem "begin"
meine lazarus version ist 1.2.6
HIer ist mal meine Klasse DAnke im vorraus

BUG 13. Okt 2015 14:10

AW: merge sort -komischer error
 
Was mir sofort ins Auge gesprungen ist, ist das
Delphi-Quellcode:
right
bei ungeraden Längen zu klein ist:

Delphi-Quellcode:
  mid:=trunc(counter/2);
  setlength(left,mid);
  setlength(right,mid)
Einfache Beispiel:
Delphi-Quellcode:
counter = 3
=>
Delphi-Quellcode:
length(left) = 1
und
Delphi-Quellcode:
length(right) = 1
. Hier kracht es dann bei
Delphi-Quellcode:
i = 2
:
Delphi-Quellcode:
for i:= mid to counter-1 do right[i-mid]:=A[i];

Besser wäre:
Delphi-Quellcode:
  mid:=counter div 2;
  setlength(left,mid);
  setlength(right,counter-mid)
Den Rest hab ich mir nicht weiter angeguckt.

Noch etwas zum Schluss: auch wenn es diesmal funktioniert hat, die Shoutbox ist nicht zum Pushen der eigenen Themen da :wink:
Nach frühesten 24h kannst du das eigene Thema auch nochmal pushen, indem du darauf antwortest. Auch das sollte man nicht übertreiben.

Delphi-Laie 13. Okt 2015 21:26

AW: merge sort -komischer error
 
Schon das zweite Mal wird dieses Forum mit diesem ominösen Mergesort beglückt, auch die Entwicklerecke bekam es schon kredenzt. Doch bisher erfolgte keinerlei Reaktion auf die Antworten, geschweige denn, ein Dank.


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