logo
Hoşgeldiniz! Forumun bütün özelliklerini kullanmak için lütfen Giriş ya da Kayıt.

Bildirim

Icon
Error

C# ile permütasyon hesaplama
@butun Offline
#1 Gönderildi : 28 Ağustos 2010 Cumartesi 23:59:58(UTC)
@butun



Sıralama: Yönetici

Madalyalar:
Anahtar Kişi: Forumda anahtar rol oynayan kullanıcılara verilirAltın Madalya: Forumda üstün hizmetleri olan kullanıcılara verilirKod Erişimi: Forum kodlarına doğrudan erişimi bulunan kullanıcılara verilirVeritabanı Erişimi: Forum veri tabanına doğrudan erişimi olan kullanıcılara verilirSistemin Efendisi: Sisteminin tamamına hükmeden kullanıcılara verilir

Mesajlar: 1,852
Puanlar: 12,672
Konum: Istanbul

Thanks: 23 times
17 Mesajına Toplam 26 Kere Teşekkür Edildi.

Title : Calculation permutation with C#...


C# ile permütasyon hesabı yapabileceğiniz sınıfımız da aşağıda.


Kod:

public class Permutation
{
List innerArray_ = new List();

public Permutation()
{
this.DigitCount = 0;
this.Permutations = 0;
this.UseRepeatation = false;
}

public bool UseRepeatation { get; set; }

public int DigitCount { get; set; }

public int Permutations { get; set; }

public List GetPermutations()
{
if (this.DigitCount > 0 && this.Permutations > 0)
GetPermutations("");

return this.innerArray_;
}

public List GetPermutations(int digitcount, int permutations)
{
this.DigitCount = digitcount;
this.Permutations = permutations;

return this.GetPermutations();
}

private void GetPermutations(string current)
{
if (current.Length < this.Permutations)
{
for (int i = 0; i < this.DigitCount; i++)
{
if (current.IndexOf(i.ToString()) < 0 || this.UseRepeatation)
GetPermutations(current + i.ToString());
}
}
else if (current.Length == this.Permutations)
this.innerArray_.Add(current);
}
}



4 basamaklı bir sayının 2'li kombinasyonlarını (sayı tekrarı olmadan) bulmak için,
Kod:

Permutation per = new Permutation();

List result = per.GetPermutations(4, 2);






4 basamaklı bir sayının 2'li kombinasyonlarını (sayı tekrarı olmadan) bulmak için,
Kod:

Permutation per = new Permutation();
per.UseRepeatation = true;

List result = per.GetPermutations(4, 2);



Burada dikkat etmeniz gereken nokta, List olarak geri dönen değerler kombinasyonların index değerleri (sayının index değerleri demek daha doğru olur).

Detaylar için
 

Linkleri görebilmek için lütfen siteye üye olunuz!

 
kartal Offline
#2 Gönderildi : 07 Aralık 2010 Salı 15:18:57(UTC)



Sıralama: Çaylak


Mesajlar: 1
Puanlar: 3


hmmmm

@butun Offline
#3 Gönderildi : 07 Aralık 2010 Salı 16:10:54(UTC)
@butun



Sıralama: Yönetici

Madalyalar:
Anahtar Kişi: Forumda anahtar rol oynayan kullanıcılara verilirAltın Madalya: Forumda üstün hizmetleri olan kullanıcılara verilirKod Erişimi: Forum kodlarına doğrudan erişimi bulunan kullanıcılara verilirVeritabanı Erişimi: Forum veri tabanına doğrudan erişimi olan kullanıcılara verilirSistemin Efendisi: Sisteminin tamamına hükmeden kullanıcılara verilir

Mesajlar: 1,852
Puanlar: 12,672
Konum: Istanbul

Thanks: 23 times
17 Mesajına Toplam 26 Kere Teşekkür Edildi.

Neye ulaşmak istediğini söylersen kartal yardımcı olabilirim. Neyi aradın da bulamadın?

Bu konudaki kullanıcılar
Ziyaretçi
Forumu Atla  
Bu foruma yeni konular postalayamazsınız.
Bu forumda ki konulara yeni posta gönderemezsiniz.
Bu forumdaki postalarınızı silemezsiniz.
Bu forumdaki postalarınızı düzenleyemezsiniz.
Bu forumda anketler yaratamazsınız.
Bu forumdaki anketlere oy veremezsiniz.