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

解決


うみ  2005-07-09 23:52:39  No: 16277

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


メラトニン  2005-07-10 00:38:20  No: 16278

えぃっ!
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-10 00:44:23  No: 16279

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


メラトニン  2005-07-10 00:44:26  No: 16280

もしくは
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;


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加