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