Einzelnen Beitrag anzeigen

marabu

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

Re: Zahlen überprüfen --> keine darf doppelt

  Alt 29. Jun 2007, 18:48
Hallo,

ich hätte auch noch einen Lösungsansatz - ohne Anspruch auf Reife:

Delphi-Quellcode:
uses
  StrUtils;

type
  TNumberSet = set of 1..9;

var
  NumberSet: TNumberSet;

function CheckNumber(var ns: TNumberSet; n: Integer): Boolean;
begin
  Result := True;
  if not (n in ns)
    then ns := ns + [n]
    else Result := False;
end;

procedure TDemoForm.ButtonClick(Sender: TObject);
const
  FMT = '%d ist %s';
var
  i, n: Integer;
  b: Boolean;
begin
  NumberSet := [];
  for i := 1 to 9 do
  begin
    n := Succ(Random(9));
    b := CheckNumber(NumberSet, n);
    ShowMessage(Format(FMT, [n, IfThen(b, 'okay', 'doppelt')]));
  end;
end;
Freundliche Grüße
  Mit Zitat antworten Zitat