Einzelnen Beitrag anzeigen

Benutzerbild von Sharky
Sharky

Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.251 Beiträge
 
Delphi 2006 Professional
 
#4

Re: Prüfen ob Integer in Array?

  Alt 13. Apr 2006, 18:42
Hai ihr,

hier mal mein Ansatz für diesen Fall
Delphi-Quellcode:
procedure TDemoForm.Button1Click(Sender: TObject);
var
  TestArray: array[0..8] of Integer;
  TestInteger: Integer;
  ndx: Integer;
begin
  // Ersteinmal für den Test das Array mit den Zahlen 1 bis 9 füllen
  for ndx := Low(TestArray) to High(TestArray) do
  begin
    TestArray[ndx] := ndx + 1;
  end;

  // Jetzt der Test.
  TestInteger := 0; // Alle Bits auf 0
  for ndx := Low(TestArray) to High(TestArray) do
  begin
    TestInteger := (TestInteger xor (1 shl (TestArray[ndx] - 1)));
  end;

  if (TestInteger = $1FF) then // Das ist 2^9 -1
  begin
    ShowMessage('blubb');
  end;
end;
Eigentlich mache ich nichts anderes als das Bit an der Postition welche von TestArray[ndx] bestimmt ist zu negieren.
Ist aber nicht die schönste aller möglichen Lösungen
Stephan B.
  Mit Zitat antworten Zitat