AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Arrays sortieren

Ein Thema von Chippie82 · begonnen am 6. Okt 2005 · letzter Beitrag vom 7. Okt 2005
 
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#4

Re: Arrays sortieren

  Alt 6. Okt 2005, 22:01
Hallo Chippie,

herzlich willkommen in der Delphi-PRAXiS.

Vielleicht kannst du ja deinen Quelltext noch in die Delphi-Code tags einwickeln - sonst tun einem die Augen so weh.

Wenn du die Werte in einer Schleife entgegen nimmst, dann kannst du die Sortierung über einen insertion sort realisieren - jeder andere Sortier-Algorithmus ist aber auch okay. Ich würde mir eine Klasse zur Verwaltung der Messwerte schaffen:

Delphi-Quellcode:
unit DblList;

interface

type
  TDoubleList = class
  private
    FValues: array of double;
    FSum: double;
    function GetValue(index: integer): double;
  public
    procedure Add(value: double);
    function Count: cardinal;
    procedure Empty;
    property Sum: double read FSum;
    property Value[index: integer]: double read GetValue;
  end;

implementation

procedure TDoubleList.Add(value: double);
var
  i: integer;
begin
  SetLength(FValues, Succ(Length(FValues)));
  i := High(FValues);
  repeat
    Dec(i);
    if (i < 0) or (FValues[i] <= value) then
    begin
      FValues[Succ(i)] := value;
      Break;
    end else FValues[Succ(i)] := FValues[i];
  until false;
  FSum := FSum + value;
end;

// hier fehlt noch ein wenig
// aber das schaffst du bestimmt alleine
Das Einlesen der Messwerte könnte dann so aussehen:

Delphi-Quellcode:
uses
  QDialogs;

procedure TMainForm.InputButtonClick(Sender: TObject);
var
  dValue: double;
begin
  dValue := 0;
  repeat
    if not InputQuery('Messwert eingeben', 'Wert', dValue)
    or (dValue = 0) then
      Break;
    DoubleList.Add(dValue);
  until false;
end;
Grüße vom marabu
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:00 Uhr.
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