ben de sevgiden yanayım...

merhaba arkadaşlar dün kafayı biraz yorup dilediğim kombinasyonu veren bir program yazabilir miyim diye düşündüm. rnek olarak nin 4lü kombinasyonu dedim. tabiki ilk olarak for içine for içine for içine for şeklinde yazdım :) ama daha sonra bununla tatmin olmadım. çünkü rneği değil genel olarak verdiğim herhangi bir kümeden istediğim herhangi bir kombinasyonu versin istiyorum. rneğin kombinasyon_fonksiyonum( ,4) dediğimde bu kümenin 4lü, kombinasyon_fonksiyonum( ,5) dediğimde bu elemanın 5li kombinasyonunu vermesini istiyorum. bunu yazmak için dün gece bayağı uğraştım. forun içine foru nasıl yazacağım, sayısı değişecek şekilde diye epey kafa yordum. daha sonra for'u forun içine fonksiyon aracılığıyla sokabileceğimi fark ettim, bunun için bir süre uğraştım ama dün gece bu işi bitiremedim. bayadır matematikle bu kadar haşırneşir olmamıştım onun da etkisiyle dün gece başaramadım. sonra "tabiki çok absürd bir şey istemiyorum, elbette biri yapmıştır" diye düşündüğümden sabah kombinasyon ile ilgili araştırma yaptım ve github'dan tam istediğim kombinasyon fonksiyonunu buldum. k_combinations şeklinde: seti istediğiniz küme, k'yı da istediğiniz kombinasyon yazıyorsunuz size array olarak çıktı veriyor. rneğin k_combinations( , 2) şyle bir çıktı veriyor-> , , ilgili github linki: https://gist.github.com/axelpale/3118596 şimdi tüm bunları niye anlattım. hem birine lazım olur belki buradan arayınca bulmuş olur buradan, hem dee: benim asıl son isteğim şuydu: bir küme vereyim bu kümenin istediğim eleman sayılı alt kümelerini versin bana fakat bu alt kümeler yle alt kümeler olsun ki diğer bir istediğim alt kümelerden yalnızca 1 tane içersin. biraz karışık bir istek şyle syleyim ki: rneğin kümesinin yle 6 elemanlı alt kümelerini versin ki bana bu alt kümelerin 4 elemanlı alt kümeleri, ilk verdiğim büyük kümenin 4 elemanlı alt kümelerinden yalnızca 1 tane içersin bunun için de şyle bir mantık düşündüm. kümenin 6 elemanlı alt kümelerini al alırken herbirinin 4 elemanlı alt kümelerini al bu aldığın 4 elemanlı alt kümeleri bir arrayde sakla bir sonraki 6 elemanlı alt kümeye geldiğinde, bu kümenin 4 elemanlı alt kümelerinden herhangi biri daha nceki 6 elemanlı kümelerin 4 elemanlı alt kümelerinde geçiyor mu bir bak: ->geçiyorsa bu 6 elemanlı alt kümeyi atla ->geçmiyorsa bu 6 elemanlı alt kümeyi çıktıma ekle rneğin çıktımda eğer var ise olmamalı, çünkü ikisinde ortak var. herneyse bugün de bununla uğraşıyorum arkadaşlar bir şeyler yazdım ama olmuyor. şimdi size linkini veriyorum. https://jsfiddle.net/kofcu/ptv9h6xp/6/ şyle ki yazma amacıma gre: aynı yukarda anlattığım gibi işliyor 6 elemanlı altkümenin çıktıya uygun olup olmadığına bakmak için 4 elemanlı altkümelerini teker teker diğer altkümeler ile karşılaştırıyor, tüm karşılaştırma bitene kadar bu altkümeleri geçici bir array'e depoluyor, eğer bu 6 elemanlı altküme sınavı geçerse(4 elemanlı altkümelerinden herhangi biri daha ncekilerden değilse) geçici arraydekiler altkümeler arrayine kopyalanıyor ve çıktıya yazılıyor. fakat anlattığım gibi tam olarak çalışmıyor, 6 elemanlıların 4 elemanlı altkümelerini diğerleriyle karşılaştıramıyor. bence çalışmayan nokta 82. satır. tam nede hata yaptım bilemiyorum. tahminimce data türleriyle ilgili bir hatam olmalı ama bir türlü çzemedim, kafam da çok karıştı. yardımcı olabilecek, boş zamanı olan müridler bakabilir, yardımcı olabilirse sevinirim. Edit not:şimdi düşündüm de kesin variable scope da bir hatam var he... kofcu tarafından 04/Ağu/16 19:03 tarihinde düzenlenmiştir ben de sevgiden yanayım...