Einzelnen Beitrag anzeigen

Benutzerbild von BlackJack
BlackJack

Registriert seit: 2. Jul 2005
Ort: Coesfeld
246 Beiträge
 
Delphi 2005 Personal
 
#12

Re: Kleinster Wert in einem Set

  Alt 9. Mai 2006, 14:30
irgendwie vermisse ich hier die (mMn) einfachste lösung. naja dann poste ich sie halt mal
Delphi-Quellcode:
type TAufzaehlungsTyp = (a, b, c, d); //oder was auch immer
     TAufzaehlungsMenge = set of TAufzaehlungsTyp;

function ElementCount(ASet: TAufzaehlungsMenge): Integer;
  var i: TAufzaehlungsTyp;
  begin
  Result := 0;
  for i := Low(TAufzaehlungsTyp) to High(TAufzaehlungsTyp) do
    if i in ASet then
      Inc(Result);
  end;

function MinElement(ASet: TAufzaehlungsMenge): TAufzaehlungsTyp;
  var i: TAufzaehlungsTyp;
  begin
  Result := High(TAufzaehlungsTyp);
  for i := High(TAufzaehlungsTyp) downto Low(TAufzaehlungsTyp) do
    if i in ASet then
      Result := i;
  end;
hab ich zwar grade so aus dem Kopf geschrieben, aber das sollte so gehen.

edit: Man sollte sich nur gedanken machen, was MinElement zurückgeben soll, wenn eine leer Menge übergeben wird. (im Moment wird der höchste darstellbare Wert zurückgegeben)
See my shadow changing, stretching up and over me.
Soften this old armor. Hoping I can clear the way
By stepping through my shadow, coming out the other side.
Step into the shadow. Forty six and two are just ahead of me.
  Mit Zitat antworten Zitat