folder Tahribat.com Forumları
linefolder C - C++
linefolder C++ Da Kombinasyon İşlemi



C++ Da Kombinasyon İşlemi

  1. KısayolKısayol reportŞikayet pmÖzel Mesaj
    ramses
    ramses's avatar
    Kayıt Tarihi: 17/Eylül/2005
    Erkek

    ltcelik bunu yazdı:
    -----------------------------

    Sonuçta bir matematik formülünün uygulanmasıyla sonuca gidilmiş güzel ...

    Fakat Formüle daynmayan sezgisel bir yöntem nasıl tasarlanır onun üzerinde  de biraz düşünsek...

    Yani yine 5 elemanlı bir kümenin 2 elemanlı alt kümelerini oluşturtsak ve ancak "şu" kadar  alt kümeninin olabileceğine 

    Programın  karar vermesini nasıl sağlayabilirz?

     


    ----------------------------

     

    alt kume hesaplama olayını recursion kullanarak yapabilirsin ama arkadas daha baslangıc seviyesinde bir kod istiyo o yuzden en basiti bu formulu uygulamak olur


    Bugun cok farkli olacak...
  2. KısayolKısayol reportŞikayet pmÖzel Mesaj
    oldwolf
    oldwolf's avatar
    Kayıt Tarihi: 02/Haziran/2002
    Erkek

    ramses bunu yazdı:
    -----------------------------

    manyaki bunu yazdı:
    -----------------------------

    bu iki fonksionu int main de kullanarak yapabilirsin hocam kodları bi incele

     

    int faktoriyel(int a)

    {

        int fakt=1;

        int r=1;

     

        while( r

            fakt=fakt*r;

            r=r+1;

            }

        return fakt;

    }

     

    int kombinasyon(int a,int b)

    {

    return faktoriyel(a)/(faktoriyel(a-b) * faktoriyel(b));


    -----------------------------

    ben de yazıyım bi faydam olsun diye girmistim ama adam cok guzel ve acık yazmıs gayet..


    -----------------------------
    Direk formülü uygulamak adına güzel ancak büyük sayılar girilirse gereğinden fazla sayıda işlem yapar bu algoritma. Onun yerine şöyle bi şeyler uydurdum: http://slexy.org/raw/s2UpncS8ha

    kodu direk buraya yapıştırmadım kayıyo yamuluyo falan diye. O linkte tertemiz koddan başka bi şey de yok, kopyala yapıştur sonra Compile&Run :)


    Metallica Rules
  3. KısayolKısayol reportŞikayet pmÖzel Mesaj
    ltcelik
    ltcelik's avatar
    Kayıt Tarihi: 11/Mayıs/2007
    Erkek

    Genellikle kaynaklarda fkatöriyel hesabında döngü 1 den başlayıp Ne kadar yürütülyor

    Bunun yerine N'den  başlatılıp R ye kadar sürdürlen bir döngü tanımlanırsa hem N!/R! faktöriyel hem de R=1 için N! hesaplayan bir kodumuz olur

    Bunu da Faktor(N,R) fonksiyonu olarak tanımlarsak daha basit bir kod  ortaya çıkar

     

    int fakto(int n,r)// aslında burası zaten n!/r! i hesaplar, r=1 ya da 0 için n! i hesaplamış oluruz

    {
    i=1
      int fakto=1;

       for (i=n;n>r;i--)

    { fakto=fakto*i}
       
       
      return fakto;

    }

     


    Din Kitaplarını Okuyup Anlayana Ateist, Okuyup Anlamayanlara "dindar" denir... Nikola TESLA.. ben mi? Ne okurum ne anlarım... Kendi kendime de uyuz oluyorum ama olamıyorum.. "Ama efsaneyi çıkarıp atarsan ve yaptıkları eylemlere bakarsan... ..Jedi'ların mirası başarısızlıktır. İkiyüzlülüktür, kibirdir."
Toplam Hit: 3982 Toplam Mesaj: 14