StringGrid için matematiksel bir fonksiyon

Yapmak istediğiniz işle ilgili doğru bileşeni bulmak için burayı kullanabilirsiniz. Sadece bulmak için, diğer sorular Programlama forumuna lütfen.
Forum kuralları
Bu forum sadece yapacağınız işle alakalı doğru bileşeni bulmak içindir. Şöyle bir şey yapmam lazım, hangi bileşeni kullanıyım diyorsanız, doğru yerdesiniz.
Cevapla
sheone
Üye
Mesajlar: 1
Kayıt: 24 Nis 2011 06:10

StringGrid için matematiksel bir fonksiyon

Mesaj gönderen sheone »

Arkadaşlar öncelikle herkese merhaba,
sitenizi bir yazılım mühendisi arkadaşımın tavsiyesi üzerine öğrendim ve benim için çok yararlı olabileceğini düşündüğüm için üye oldum.

Benim müzdarip olduğum konu şu, üç tane kolona sahip olan bir TStringGrid olsun. Bu StringGrid1 olarak adlandırılırsa, ilk kolon ardışık sayılara sahip olsun fakat bu sayılardan herbiri birden fazla kez tekrarlayabilir (111122223344444556666...). İkinci kolonda ise sıfır olmayacak ve ilk kolondaki aynı değerlere göre belirli bir değerden başlayıp artış gösterecek. Üçüncü kolon ise karışık sayılar içerecek. Aslında ikinci kolondaki koşullar sadece matematiksel fonksiyon için geçerli, ona kafa yormanıza gerek yok, veriler o düzende olacaktır. Yani şimdi toparlamak gerekirse buna uygun bir veri listesi vereyim:

Kod: Tümünü seç

1. kolon |	2. kolon 		|   3. kolon
_______|________________________|_________
1		1		     2
1		2		     2
1		3		     3
1		4		     3
1		4		     5
2		1		     3
2		2		     5
2		5		     6
3		6		     2
3		8		     4
3		12		     5
3		13		     5
3		15		     7
4		1		     1
4		2		     3
4		4		     4
4		5		     6
5		1		     2
5		3		     5
5		4		     6
5		6		     7
5		7		     9
5		8		     9
Bu örnekte de gördüğünüz gibi, örneğin 1.kolondaki 1değerleri için 2. kolondaki değerler 1den başlayıp 4te bitiyor. Aynı şekilde 1.kolondaki 2 değerleri için de 2. kolondaki değerler 1den başlayıp 5te bitiyor.

Soru şu, başka bir TStringGrid (StringGrid2 olarak adlandırılsın) iki tane kolona sahip olacak ve ilk kolon StringGrid1'deki ardışık sayıları içerecek (123456... gibi). Fakat ikinci kolon ise StringGrid1'in 1.kolonundaki aynı değerlere sahip satırlar için şöyle bir fonksiyonun toplamını içerecek.

Kod: Tümünü seç

StringGrid1deki 3. kolonun i. değeri X 
(StringGrid1deki 2. kolonun (i+1). değeri - StringGrid1deki 2. kolonun (i-1). değeri) / 
StringGrid1deki 2. kolonun i. değeri
Ancak StringGrid1'in 1.kolonunun herbir aynı değeri (mesela sadece 1ler ya da 2ler ya da 3ler ....) için ilk satırda fonksiyon şöyle olacak;

Kod: Tümünü seç

StringGrid1deki 3. kolonun i. değeri X 
(StringGrid1deki 2. kolonun (i+1). değeri - StringGrid1deki 2. kolonun İ. DEĞERİ) / 
StringGrid1deki 2. kolonun i. değeri
StringGrid1'in 1.kolonunun herbir aynı değeri (mesela sadece 1ler ya da 2ler ya da 3ler ....) için son satırda fonksiyon şöyle olacak;

Kod: Tümünü seç

StringGrid1deki 3. kolonun i. değeri X 
(StringGrid1deki 2. kolonun İ. DEĞERİ - StringGrid1deki 2. kolonun [b]i. değeri[/b]) / 
StringGrid1deki 2. kolonun i. değeri
Çünkü StringGrid1'in ilk satırındaki aynı değerlerden herbirinin ilk satırından önce ve son satırından sonra o değere ait satır yok.

Daha sonra StringGrid2 üzerindeki 2. kolon, 1. kolondaki değere karşılık gelen StringGrid1de üzerinden çevrilen bu fonksiyonların toplamlarına eşit olacak, yani

Kod: Tümünü seç

1. kolon		| 	2. kolon
1		(2*(2-1)/1)+(2*(3-1)/2)+(3*(4-2)/3)+(3*(4-3)/4)+(5*(4-4)/4)=6.75
2		(3*(2-1)/1)+(5*(5-1)/2)+(6*(5-2)/5)=16.6
3		...
4		...
5		...
Şimdiden herkese teşekkürler. En içten saygılarımla,

sheone.
Cevapla