matematik de kümeler ile yapılan tüm işlemleri program ile yapabilmek .
Örnek: A={1,2,3,4,5} kümesi ve B={4,5,6,7,8} kümeleri üzerinde bu kümeleri edit kutularına yazmak suretiyle birleşimlerini, kesişimlerini ve belirleyeceğimiz sınır sayısı (örneğin 1den 10 a kadar sayılar gibi) üzerinde içinde bulunmayan elemanlarının bulunmasını gerçekleştirmesini istiyorum.
Yani: A birleşim B ={1,2,3,4,5,6,7,8}, A kesişim B={4,5}, A fark B={1,2,3}, sınır sayısı = 10 olsun. A kümesinde olmayanlar kümesi A'={6,7,8,9,10}, B kümesinde olmayanlar kümesi B'={1,2,3,9,10} v.s. şeklinde çözümler üretebilecek bir program olmalı.
Sql kodlarıni yazarak yardımcı olacak ardakaşlara şimdiden selamlar.
kümeler
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
- SQL kodlarını sana bırakıyorum... Çok basit bir kurgu yapacaksın...
- Delphi'de işini görecek bir fonksiyon bulamazsan, basit düşünüp bunu kendin kurgulamalısın...
- Başarılar...
- Örnek :
- Delphi'de işini görecek bir fonksiyon bulamazsan, basit düşünüp bunu kendin kurgulamalısın...
- Başarılar...
- Örnek :
Kod: Tümünü seç
Procedure BirlesimKumesi(A, B, C:TStringList);
Var
Sayac: Integer;
begin
Sayac := 0;
C.Clear;
C.AddStrings(B);
Repeat
If C.IndexOf(A[Sayac]) < 0 then C.Add(A[Sayac]); // Aynı elemanlı olanları atlar...
Inc(Sayac);
Until Sayac >= A.Count;
C.Sort;
end;
Kod: Tümünü seç
Procedure KesisimKumesi(A, B, C:TStringList);
Var
Sayac: Integer;
begin
Sayac := 0;
C.Clear;
Repeat
If B.IndexOf(A[Sayac]) >= 0 then C.Add(A[Sayac]); // sadece aynı olan elemanları alır, diğerlerini atlar...
Inc(Sayac);
Until Sayac >= A.Count;
C.Sort;
end;
Kod: Tümünü seç
Procedure FarkKumesi(A, B, C:TStringList);
Var
Sayac: Integer;
begin
Sayac := 0;
C.Clear;
Repeat
If B.IndexOf(A[Sayac]) < 0 then C.Add(A[Sayac]); // fark kümesi...
Inc(Sayac);
Until Sayac >= A.Count;
C.Sort;
end;
Kod: Tümünü seç
procedure TForm1.Button1Click(Sender: TObject);
Var
A,B,C : TStringList;
begin
A := TStringList.Create;
B := TStringList.Create;
C := TStringList.Create;
A.CommaText := '1,2,3,4,5'; // TEdit'e de yönlendirilebilir...
B.CommaText := '4,5,6,7,8';
BirlesimKumesi(A, B, C);
ShowMessage(C.Text);
KesisimKumesi(A, B, C);
ShowMessage(C.Text);
FarkKumesi(A, B, C);
ShowMessage(C.Text);
C.Free;
B.Free;
A.Free;
end;
SQL de bilmem ama delphi de bu sekilde kume islemlerişni yapabilirsin
type altında
item=1..9;
kume=set of item;
var altında
kumedeg1,kumedeg2:kume;
fark:kume;
atamalar
kumedeg1:=[1,2,3];
kumedeg2:=[3,4,5,6];
fark:=kumedeg1-kumedeg2;//sonuc [1,2]
birlesim:=kumedeg1+kumedeg2;//sonuc [1,2,3,4,5,6]
kesisim:=kumedeg1*kumedeg2;//sonuc [3];
denemedim ama bu sekilde olması gerek
type altında
item=1..9;
kume=set of item;
var altında
kumedeg1,kumedeg2:kume;
fark:kume;
atamalar
kumedeg1:=[1,2,3];
kumedeg2:=[3,4,5,6];
fark:=kumedeg1-kumedeg2;//sonuc [1,2]
birlesim:=kumedeg1+kumedeg2;//sonuc [1,2,3,4,5,6]
kesisim:=kumedeg1*kumedeg2;//sonuc [3];
denemedim ama bu sekilde olması gerek
ÜŞENME,ERTELEME,VAZGEÇME