Başlangıç > Kodlar > Delphi ile kümenin alt kümelerini bulmak ve listbox’a aktarmak

Delphi ile kümenin alt kümelerini bulmak ve listbox’a aktarmak

Bu program edit içerisne girilen bir kümenin alt kümelerini bularak listbox içerisine yazar. Edit içerisine elemanları girerken araya virgül ( , ) koyunuz.


unit Altkume;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls,math;

type
TForm1 = class(TForm)
Button1: TButton;
Edit2: TEdit;
ListBox1: TListBox;
Label1: TLabel;
procedure Button1Click(Sender: TObject);

private
{ Private declarations }
public
{ Public declarations }
end;

function Esay(kume:string):integer;
function ikilige_Cevir(sayi:integer):string;
var
Form1: TForm1;
altkume:array[1..1024] of string;
eleman:array [1..50] of string;
say:integer;
implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var
sbt,u,l:integer;
s1:string;
begin
listbox1.Clear;
say:=Esay(edit2.text);
for l:= 1 to floor(power(2,say))-1 do begin
altkume[l]:=trim(ikilige_cevir(l)); s1:=";
sbt:=say-length(altkume[l]);
for u:=length(altkume[l]) downto 1 do
if altkume[l][u]='1' then s1:=s1+eleman[sbt+u]+',';
altkume[l]:=s1;listbox1.Items.Add(s1);
end;//for
end;

function Esay(kume:string):integer;
var k:integer; s:string;
begin
kume:=trim(kume)+','; k:=1; say:=1;
repeat
if kume[k]<>',' then s:=s+kume[k] else
begin eleman[say]:=s;s:="; inc(say); end;
inc(k);
until k>length(kume);
dec(say);
Esay:=say;
end;

function ikilige_Cevir(sayi:integer):string;
var kal,topkal:string;
begin
repeat
kal:=trim(inttostr( sayi mod 2));
topkal:=kal+topkal; sayi:=sayi div 2;
until sayi=0;
ikilige_Cevir:=topkal;
end;

end.

Hasan şahin
hasansahin1977@yahoo.com


TD Software


  1. Henüz yorum yapılmamış.
  1. No trackbacks yet.

Bir Cevap Yazın

Aşağıya bilgilerinizi girin veya oturum açmak için bir simgeye tıklayın:

WordPress.com Logosu

WordPress.com hesabınızı kullanarak yorum yapıyorsunuz. Log Out / Değiştir )

Twitter resmi

Twitter hesabınızı kullanarak yorum yapıyorsunuz. Log Out / Değiştir )

Facebook fotoğrafı

Facebook hesabınızı kullanarak yorum yapıyorsunuz. Log Out / Değiştir )

Google+ fotoğrafı

Google+ hesabınızı kullanarak yorum yapıyorsunuz. Log Out / Değiştir )

Connecting to %s

%d blogcu bunu beğendi: