Einzelnen Beitrag anzeigen

Benutzerbild von glkgereon
glkgereon

Registriert seit: 16. Mär 2004
2.287 Beiträge
 
#4

Re: Alle "logischen Möglichkeiten" auflisten

  Alt 18. Apr 2005, 17:03
wie wäre es damit?(getestet)

Delphi-Quellcode:
function GetKombi(ValCount: Integer): TStringList;
var Temp: TStringList;
  procedure kombiRec(index, max: Integer; vals: String);
  var i:Integer;
  begin
    for i:=1 to 2 do
      if index<max then
        kombirec(index+1,max,vals+IntToStr(i))
      else Temp.Add(vals+IntToStr(i));
  end;
begin
  Temp:=TStringList.Create;
  KombiRec(1,ValCount,'');
  Result:=TStringList.Create;
  Result.Clear;
  Result.AddStrings(Temp);
  Temp.Free;
end;
und nun ausgabe mit w/f statt 1/2:
Delphi-Quellcode:
function GetKombi(ValCount: Integer): TStringList;
var Buf: TMemoBuf;
  procedure kombiRec(index, max: Integer; vals: String);
  var i:Integer;
  begin
    for i:=1 to 2 do
      if index<max then
        kombirec(index+1,max,vals+IntToStr(i))
      else Result.Add(vals+IntToStr(i));
  end;
begin
  Result:=TStringList.Create;
  Result.Clear;

  KombiRec(1,ValCount,'');

  Buf:=TMemoBuf.Create;
  Buf.Append(Result.Text);
  Buf.ReplaceAll('1','w');
  Buf.ReplaceAll('2','f');

  Result.Clear;
  Result.Add(Buf.Text);
end;
»Unlösbare Probleme sind in der Regel schwierig...«
  Mit Zitat antworten Zitat