Delphi-PRAXiS
Seite 5 von 6   « Erste     345 6      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi array sortieren (https://www.delphipraxis.net/126396-array-sortieren.html)

AlexanderBrade 23. Dez 2008 20:09

Re: array sortieren
 
Greif ich dann innerhalb meiner Button1click prozedur durch Bubblesort(B) auf die "extern" festgelegte Prozedur BubbleSort zu?

DeddyH 23. Dez 2008 20:12

Re: array sortieren
 
Deine ButtonClick-Methode ruft dann die Bubblesort-Methode auf, so ist es.

mkinzler 23. Dez 2008 20:13

Re: array sortieren
 
Zitat:

Zitat von AlexanderBrade
Greif ich dann innerhalb meiner Button1click prozedur durch Bubblesort(B) auf die "extern" festgelegte Prozedur BubbleSort zu?

Nein das unten ist nur die Implementierung der Methode

Befass dich mal mit den Grundlagen!

AlexanderBrade 23. Dez 2008 20:48

Re: array sortieren
 
Wie kann ich nun die 5 höchsten Zahlen erhalten z.B. in einem editFeld?

DeddyH 23. Dez 2008 20:50

Re: array sortieren
 
Wenn Dein Array aufsteigend sortiert ist, sind es ja wohl die letzten 5 Elemente, bei absteigender Sortierung die ersten 5.

mkinzler 23. Dez 2008 20:50

Re: array sortieren
 
Zitat:

Zitat von AlexanderBrade
Wie kann ich nun die 5 höchsten Zahlen erhalten z.B. in einem editFeld?

Diese befinden sich nach dem Sortieren auf den Ersten 5 Positionen des Arrays ( wenn abteigend sortiert) also mit den Indizes 0 bis 4

AlexanderBrade 23. Dez 2008 22:53

Re: array sortieren
 
Also ich habe jetzt den Quelltext zussammen, meine Ergebnisse zeigen mir allerdings, dass er scheinbar nicht sortiert!
Ich hänge mal den zugehörigen Quelltext an, vielleicht fällt dem ein oder anderen etwas auf...
Es sei auch egal wie die Bezeichnung der Variablen aussieht, Schönheitskorrekturen kommen später!
Delphi-Quellcode:
{usw.}
    procedure Button3Click(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    Procedure BubbleSort(var B: Array of byte);
  private
    { Private-Deklarationen }
     {Procedure BubbleSort(var B: Array of byte);}
  public
    { Public-Deklarationen }
  end;
 type punkt1 = array[1..4, 1..6] of byte;
 type punkt2 = array of byte;
var
  Form5: TForm5;
  A: punkt1;
  B: punkt2;
  aa, ab, ac, ad, ae, af, df: word;
  ba, bb, bc, bd, be, bf, ef: word;
  ca, cb, cc, cd, ce, cf, gf: word;
  ma, wf: word;
  s1, s2, s3:integer;
implementation

uses Unit8;

{$R *.dfm}


Procedure TForm5.BubbleSort(var B: Array of byte);
   Procedure Swap(var xx,yy:byte);
     var
      Swp: byte;
      begin
        swp:=xx;
        xx:=yy;
        yy:=swp;
      end;

var i,j : byte;
Begin
For i:= 1 to 24 Do
   For j:= 1 To 24-1 Do
       If (B[j] > B[j+1]) Then Swap( B[j], B[j+1] );
End;



procedure TForm5.Button1Click(Sender: TObject);
begin
A[1,1]:= strtoint(edit1.Text);
{usw.}

{Wahlpflichtfächer}


if edit55.Visible then
begin
    B[19]:=B[24];B[13]:=B[23];B[7]:= B[22];B[1]:=B[21];
    setlength(B, 20); end;
if edit56.Visible then
begin
    B[20]:=B[24];B[14]:=B[23];B[8]:= B[22];B[2]:=B[21];
    setlength(B, 20); end;
if edit57.Visible = true then
begin
    B[21]:=B[24];B[15]:=B[23];B[9]:= B[22];B[3]:=B[21];
    setlength(B, 20); end;
if edit58.Visible = true then
begin
    B[22]:=B[24];B[16]:=B[23];B[10]:= B[22];B[4]:=B[21];
    setlength(B, 20); end;
if edit59.Visible = true then
begin
    B[23]:=B[24];B[17]:=B[23];B[11]:= B[22];B[5]:=B[21];
    setlength(B, 20); end;


Bubblesort(B);

wf:=B[1]+B[2]+B[3]+B[4]+B[5];
form8.Panel6.Caption:=inttostr(wf);

{etc}

mkinzler 23. Dez 2008 22:57

Re: array sortieren
 
Ich verstehe immer noch nicht, was das mit den
Delphi-Quellcode:
if Edit<x>.Visible
soll

AlexanderBrade 23. Dez 2008 22:59

Re: array sortieren
 
Ich arbeite bei diesem Problem eben visuell, d.h. wenn eine editbox[vorher sichtbar gemacht wurde] existiert dann soll er diesen Weg einschlagen. Das ist aber auch nicht mein Problem, denn das lässt sich sicherlich noch anders machen, das Sortieren allerdings muss funktionieren!

mkinzler 23. Dez 2008 23:01

Re: array sortieren
 
Die Editfelder existieren ja wohl (kann der Anwender ja nicht beeinflussen). Aber was soll der Code bezwecken?


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:14 Uhr.
Seite 5 von 6   « Erste     345 6      

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz