Thema: Delphi Programm Hilfe

Einzelnen Beitrag anzeigen

Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.542 Beiträge
 
Delphi 11 Alexandria
 
#25

AW: Programm Hilfe

  Alt 18. Okt 2011, 18:25
Zitat:
6957 /9675-5679=3996
Das ist doch schon falsch, das Maximum wäre 9765. Gut, hier noch ein paar Hilfsfunktionen, die ich selbst verwendet habe, den Kern musst Du aber selbst machen:
Delphi-Quellcode:
type
  TZiffern = array [1 .. 4] of Byte;
  TDirection = (drAsc (*aufsteigend*), drDesc (*absteigend*));

function Zerlege(Wert: integer): TZiffern;
begin
  Result[1] := Wert mod 10000 div 1000;
  Result[2] := Wert mod 1000 div 100;
  Result[3] := Wert mod 100 div 10;
  Result[4] := Wert mod 10;
end;

procedure Sort(var Ziffern: TZiffern; Direction: TDirection);
begin
  //Hier wird ein Bubblesort verwendet, den ich aber zunächst nicht poste, Beispiele dafür gibt es massig hier im Forum
end;

function ZiffernToZahl(Ziffern: TZiffern): integer;
begin
  Result := Ziffern[1] * 1000 + Ziffern[2] * 100 + Ziffern[3] * 10 + Ziffern[4];
end;

function MaxWert(Ziffern: TZiffern): integer;
begin
  Sort(Ziffern, drDesc);
  Result := ZiffernToZahl(Ziffern);
end;

function MinWert(Ziffern: TZiffern): integer;
begin
  Sort(Ziffern, drAsc);
  Result := ZiffernToZahl(Ziffern);
end;
Das war die Löwenarbeit, der Rest besteht aus Verwendung dieser Funktionen.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat