Autor Beitrag
cool2005
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Mi 09.03.05 21:21 
hi leute...

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

ausblenden volle Höhe Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
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'

bitte um hilfe.... :roll:


Moderiert von user profile iconGausi: Topic aus Algorithmen, Optimierung und Assembler verschoben am Mi 09.03.2005 um 21:28
Gausi
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 8554
Erhaltene Danke: 481

Windows 7, Windows 10
D7 PE, Delphi XE3 Prof, Delphi 10.3 CE
BeitragVerfasst: Mi 09.03.05 21:27 
so sollte es klappen:
ausblenden volle Höhe Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
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 TDaten.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.



Aber das hat nix mit Algorithmen zu tun *verschieb*

_________________
We are, we were and will not be.
AXMD
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 4006
Erhaltene Danke: 7

Windows 10 64 bit
C# (Visual Studio 2019 Express)
BeitragVerfasst: Mi 09.03.05 21:27 
user profile iconcool2005 hat folgendes geschrieben:
hi leute...

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

ausblenden volle Höhe Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
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 TFeld.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'

bitte um hilfe.... :roll:


Siehe markierter Code ;)

AXMD