Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   QuickSort Problem fast gelöst! (https://www.delphipraxis.net/41861-quicksort-problem-fast-geloest.html)

cool2005 9. Mär 2005 20:05


QuickSort Problem fast gelöst!
 
hi leute...

ich hab in dem programm einen fehler....(da wo das * ist)

Delphi-Quellcode:
unit uData;

interface

uses
  SysUtils, Classes;

type
  TFeld = array[1..8] of double;             
  SortKeyType = double;
  TDaten = class(TDataModule)
  procedure DataModuleCreate(Sender: TObject);
  private
    { Private declarations }
  public
  A : TFeld;
  procedure SortQuick(var A : TFeld; Anz : integer);  **********FEHLER*********
  end;

var
  Daten: TDaten;

implementation

{$R *.dfm}

procedure TDaten.DataModuleCreate(Sender: TObject);          
begin
   A[1]:=5;
   A[2]:=0;
   A[3]:=-4;
   A[4]:=7;
   A[5]:=2151;
   A[6]:=21;
   A[7]:=25;
   A[8]:=17;
end;

procedure SortQuick(var A : TFeld; Anz : integer);
   procedure Sort(var A : TFeld; l, r : integer);
   var
      i, j : integer;
      Help, Pivot : SortKeyType;
   begin
      Pivot := A[(l + r) div 2];
      i := l;
      j := r;
      repeat
         while A[i] < Pivot do
            i := i + 1;
         while Pivot < A[j] do
            j := j - 1;
         if i <= j then
         begin
            Help := A[i];
            A[i] := A[j];
            A[j] := Help;
            i := i + 1;
            j := j - 1;
         end;
      until i>j;
      if l < j then
         Sort(A, l, j);
      if i < r then
         Sort(A, i, r);
   end;
begin
   Sort(A, 1, Anz);
end;

end.
mit der fehlermeldung kann ich aber nix anfangen?!?! 'unsatisfiel forward or external declararion' :wall:

bitte um hilfe.... :roll:

stefan2005 9. Mär 2005 20:10

Re: QuickSort Problem fast gelöst!
 
hi,
du musst deine SortQuick Procedure so deklarieren:

procedure TFeld.SortQuick(var A : TFeld; Anz : integer);

cu,
stefan2005

tn249 9. Mär 2005 20:12

Re: QuickSort Problem fast gelöst!
 
du musst vor der procedure deklaration im rumpf noch den klassennamen vor den procedure-bezeichner einfügen

Delphi-Quellcode:
procedure [b]TmyClass.[/b]myprocedure ([...]);

Luckie 9. Mär 2005 20:13

Re: QuickSort Problem fast gelöst!
 
Warum fängst du deshalb extra einen neuen Thread an?

Hier: http://www.delphipraxis.net/topic48941_quicksort.htm geht es weiter.

G E S C H L O S S E N


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