全ての組み合わせを表示するには?

解決


うみ  2005-07-09 14:52:39  No: 16277  IP: 192.*.*.*

例えば、
a,b,c,d,e
5つから2つを選ぶ組み合わせ(5_C_2=10パターン)を表示したいのですがどうしたらよいのでしょうか?

編集 削除
メラトニン  2005-07-09 15:38:20  No: 16278  IP: 192.*.*.*

えぃっ!
procedure TForm1.Button1Click(Sender: TObject);
var i:Integer;   str,Rstr:string;
  function PickUpStr(a,b:string):string;
  var q:integer; str2:string;
  begin
    for q:=1 to Length(b) do
      str2:=str2 + a + ',' + b[q] + #13#10;
    Result:=str2;
  end;
begin
str:=Edit1.Text;
for i:=1 to Length(str)-1 do
  Rstr:=Rstr + PickUpStr(str[i],Copy(str,i+1,Length(str)));
Memo1.Text:=Rstr;
end;

編集 削除
うみ  2005-07-09 15:44:23  No: 16279  IP: 192.*.*.*

すばらしいです!!
ありがとうございました。

編集 削除
メラトニン  2005-07-09 15:44:26  No: 16280  IP: 192.*.*.*

もしくは
procedure TForm1.Button1Click(Sender: TObject);
var i,p:Integer;
    str,str2,Rstr:string;
begin
str:=Edit1.Text;
for i:=1 to Length(str)-1 do
begin
  str2:=Copy(str,i+1,Length(str));
  for p:= 1 to Length(str2) do
  begin
    Rstr:=Rstr + str[i] + ',' + str2[p] + #13#10;
  end;
end;
Memo1.Text:=Rstr;
end;

編集 削除