• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

Sayı dizisi seçmek.

Merhaba.

Bir şey sormak istiyorum.
Mevcut verilere göre seçilmesi gereken satır adeti kaçtır acaba?

-- Seçilmesi gereken satırların bir listesini yapabildiniz mi,
yapabildiyseniz bu listenin kayıtlı olduğu yeni bir belge yükler misiniz?

-- Ya da hazırlamaya çalıştığım kod'un denenebilmesi için daha küçük veri yığını
(arama alanı ve aranacak diziler anlamında)
olan ve bu verilere göre olması gereken sonuçların listelendiği bir örnek belge yükler misiniz?
.
 
Merhaba.

Bir şey sormak istiyorum.
Mevcut verilere göre seçilmesi gereken satır adeti kaçtır acaba?

-- Seçilmesi gereken satırların bir listesini yapabildiniz mi,
yapabildiyseniz bu listenin kayıtlı olduğu yeni bir belge yükler misiniz?

-- Ya da hazırlamaya çalıştığım kod'un denenebilmesi için daha küçük veri yığını
(arama alanı ve aranacak diziler anlamında)
olan ve bu verilere göre olması gereken sonuçların listelendiği bir örnek belge yükler misiniz?
.

-sabit bir satır adedi yok hocam, 4 lü dizinin tamamı bitene kadar devam edilecek.

- kesin listede 42 satır var, sabah eklerim iş yerinden.

.txt ekleyemedim sanırım bi sıkıntı var.

Kod:
1	2	3	4	5	6
1	2	3	7	8	9
1	2	3	10	11	12
1	2	3	13	14	15
1	2	3	16	17	18
1	4	7	10	13	16
1	4	8	11	14	17
1	4	9	12	15	18
1	5	7	11	14	18
1	5	8	12	15	16
1	5	9	10	13	17
1	6	7	12	15	17
1	6	8	10	13	18
1	6	9	11	14	16
2	4	7	12	13	18
2	4	8	10	14	16
2	4	9	11	15	17
2	5	7	10	14	17
2	5	8	11	15	18
2	5	9	12	13	16
2	6	7	11	15	16
2	6	8	12	13	17
2	6	9	10	14	18
3	4	7	11	13	17
3	4	8	12	14	18
3	4	9	10	15	16
3	5	7	12	14	16
3	5	8	10	15	17
3	5	9	11	13	18
3	6	7	10	15	18
3	6	8	11	13	16
3	6	9	12	14	17
4	5	6	7	8	9
4	5	6	10	11	12
4	5	6	13	14	15
4	5	6	16	17	18
7	8	9	10	11	12
7	8	9	13	14	15
7	8	9	16	17	18
10	11	12	13	14	15
10	11	12	16	17	18
13	14	15	16	17	18
 
Son düzenleme:
O zaman mevcut diziden 4 benzemezi listelemek istiyorsunuz, anladığım kadarıyla.

Ayrıca mevcut dizi sıralı mı?

- hocam 4 benzemezden kastınızı tam olarak anlamadım ama verdiğim algoritma kesin doğru. dün test ettim, şayet algoritma doğru uygulanırsa doğru sonuç verir.

- verilen 6 lı sayı dizisi ve 4 lü sayı dizisi sıralı.
 
Aşağıdaki resimdeki YANLIŞ sonuçları bende listeleniyor. Kontrol ettiğimde sizin verdiğiniz son koşullandırma sistemine uyduğunu görüyorum. Gözümden kaçan bir şey mi var?

 
Merhaba Sayın AYHAN,

Sizin elinizde olması gereken listesi mevcut mudur acaba?

Ben de, sizin doğru ve yanlış dedikleriniz dahil, (ekran görüntüsünü eklediğiniz satırlar aynen bende de mevcut) 104 satırlık bir veri oluşuyor.

Olması gereken ve sizin bulduğunuz tüm sonuç listesini görebilir miyiz acaba?

Sizin kod daha hızlıdır kuvvetle muhtemel ama, benim kod 35 saniye civarında
(20 kadar chrome sekmesi aktif durumda iken çalıştırıyorum,
istatistik amaçlı süreleri bir sütuna listeletiyorum 45 saniyeyi de gördüm.
)
R ve devamı sütunlara sonuçları listeliyor.
Kodlarımda For..Next döngüsünden başka bir olay da yok.

.
 
Kurguyu bende sizin dediğiniz şekilde biraz daha düzenledim.

6. ve sonraki seçimler uyuşmuyor. Oluşan resmi kontrol eder misiniz? Bende oluşan değerler sizdekiyle örtüşmüyor.

6. satıra gelince kod 1-4-5-7 dörtlüsünü arıyor. Bunun karşılığı olarak 1-4-5-7-8-10 altılı değerini buluyor. Bu değer içindeki sayılar daha önce seçilen değerlerde tekrar etmiyor. Bu sebeple seçilenler listesine ekleniyor. Benim kurgum bu şekilde çalışıyor. Gözümüzden kaçan nokta neresi?

 
Korhan hocam ben bu işlemi manuel olarak yapıyorum biliyorsunuz, sizin verdiğiniz dizi 3208. satırda ben bunu tek tek manuel olarak yapınca ne kadar sürer bilemiyorum ama başarsam bile hatasız olarak oraya kadar inebilirmiyim emin değilim. :redface:

son kurguladığınız kodu bir düğmeye bağlayıp , sadece ilk satırdaki 4 lü dizi için seçim yapacak şekilde ayarlayabilirseniz en azından nereden itibaren hatalı seçim yapıyor hızlı şekilde çözebilirim.

yani her tıkladığımda kurgu ilk satırda ki 4 lü dizi için çalışsın işlemi bitirip dursun özetle.

yada ne kadar mantıklı/pratik olur bilmiyorum hocamda belki tıpkı benim gösterdiğim şekilde çalışan bir kod yazılırsa yapılan hata ortaya daha kolay çıkar yani kod işi bittiği dizileri siler gibi.....

Cuma akşam ve Cumartesi günleri yokum yanıt veremeyebilirim.
 
Son düzenleme:
Merhaba,

4 benzemezden kastımı 4 sayı seçilen diziden 4 veya 5 benzerden oluşursa o dizi dikkate alınmaz.

Sonuçta ben doğru anlamışım ama ortada verdiğiniz 4 lü dizi bana çok gereksiz geldi. 4 lü diziye gerek yok.

benzer = 4 ile 4 benzemezden söz ediyorum. Siz buraya 4 ten farklı sayı belirlerseni ona göre eleme yapacaktır.

Kodu deneyiniz.

Kod:
Sub Sec()

    Dim i           As Long, _
        j           As Long, _
        k           As Long, _
        m           As Integer, _
        Adet        As Integer, _
        Benzer      As Integer
            
    Application.ScreenUpdating = False
    
    Benzer = 4
    m = 4
    
    Range("R4:W" & Rows.Count).ClearContents
    Range("C4:H4").Copy Range("R4")
    
    For i = 5 To Cells(Rows.Count, "C").End(3).Row
        j = 3
        Do
            j = j + 1
        Adet = 0
            For k = 3 To 8
                Adet = Adet + Application.WorksheetFunction.CountIf(Range("R" & j & ":W" & j), Cells(i, k))
            Next k
        Loop Until Adet >= Benzer Or j = m
        
        If Adet < Benzer Then
            m = m + 1
            Range("C" & i & ":H" & i).Copy Range("R" & m)
        End If
    Next i
    
    Application.ScreenUpdating = True
    
    MsgBox "İşlem Bitmiştir.", vbInformation, "excel.web.tr"
    
End Sub
 
Hocam kodu uyguladım, her ne kadar ilk bakışta 4 benzemez gibi görünsede, 6.SEÇİM de 5 benzemez 7.SEÇİM de 4 benzemez olması gerekiyor DOĞRU SONUÇ tablosunda.. Kod doğru çalıştığı zaman 42 dizi üretmeli , sizin kodunuz 104 dizi üretiyor.

bana göre benzemez mantığı yanlış şöyle ki;

Burada verilen 6 lı sayı dizisi 1 den 18 e kadar verilmiş sayıların sıralı şekilde 6 lı kombinasyonu. 4 lü sayısı dizisi 1 den 18 e kadar verilmiş sayıların sıralı şekilde 4 lü kombinasyonu.

AMAÇ: Oluşturduğum algoritmaya uygun kodlama yapılırsa; 18 sayı içerisinden herhangi 6 sayı seçildiği zaman "SEÇİLENLER" tablosunda en az 1 adet 4 lü sayı dizisi kesin olarak bulunuyor.

(http://www.excel.web.tr/f48/sayy-dizisi-secmek-t170907/post934291.html -24 nolu mesajımda test edebilirsiniz.) Bunu ister lotoya uygulayın ister istatistik deneme parsellerine uygulayın farketmez, sağladığı kolaylık ve kesinlik çok kullanışlı.

#30 nolu mesajım geçerli hala.
 
Son düzenleme:
Merhaba,

4 lü sayı dizisinde 1-2-4-7 var, sizin verdiğiniz listede ise bu sayı yok, neden?

Oysa benim ürettiğim kodlarda bu sayı dizisi var.
 
Merhaba,

4 lü sayı dizisinde 1-2-4-7 var, sizin verdiğiniz listede ise bu sayı yok, neden?

Oysa benim ürettiğim kodlarda bu sayı dizisi var.

Hocam benim çektiğim video biraz uzun kabul ediyorum ancak orada 1-2-4-7 dizisinin "kullanılmama" sebebi var , zamanınız olduğunda izleyebilirseniz daha iyi anlaşılır eminim.

Algoritmanın en baştan doğru kurgulanması için baştan beri izlemenizi tavsiye ederim. 1-2-4-7 dizisinin niye olamayacağı cevabı 10.56 dakikadan sonra geliyor.

https://vimeo.com/260247588
 
Merhaba,

Verdiğiniz algoritmaya uygun yaptım diye düşünüyorum fakat 26 sayı üretti. Sizin sonuçlarla örtüşmüyor. Veri fazla olduğu için hatayı bulamadım. Atladığım nokta neresi tam anlayamadım.
Üzerinde fazla yoğunlaşamadığım için bir noktayı atlamış olabilirim.
İnceleyip hata hakkında geri dönüş yapmanızı rica ederim.
deg1, deg2, deg3 tanımları verdiğiniz şartlı sayımları yapmaktadır.

Kod:
Sub Sayi_dizisi()

    Dim son1 As Long, son2 As Long, sat As Long, say As Long, k As Integer
    Dim deg1 As Integer, deg2 As Integer, deg3 As Integer, i As Long, j As Integer
    Dim x1 As String, x2 As String, x3 As String, y1 As String, y2 As String, y3 As String

    son1 = Cells(Rows.Count, "C").End(xlUp).Row
    son2 = Cells(Rows.Count, "K").End(xlUp).Row
    
    Application.ScreenUpdating = False
    Application.Calculation = xlManual
    Range("R4:W" & Rows.Count).ClearContents
    
    sat = 4: say = 4
    For i = 4 To son2
        For j = say To son1
            
            If Range("R4") = "" Then
                deg1 = 0
            Else
                x1 = Range(Cells(4, "R"), Cells(sat, "W")).Address
                y1 = Range(Cells(i, "K"), Cells(i, "N")).Address
                deg1 = Evaluate("=SUM((MMULT(ISNUMBER(MATCH(" & x1 & "," & y1 & ",0))+0,{1;1;1;1;1;1})=4)+0)")
            End If
            
            x3 = Range(Cells(4, "R"), Cells(sat, "W")).Address
            y3 = Range(Cells(j, "C"), Cells(j, "H")).Address
            deg3 = Evaluate("=SUM((MMULT(ISNUMBER(MATCH(" & x3 & "," & y3 & ",0))+0,{1;1;1;1;1;1})>3)+0)")
            If deg1 = 0 And deg3 = 0 Then
                Cells(j, "C").Resize(1, 6).Copy Cells(sat, "R")
                sat = sat + 1
                say = say + 1
            End If
            
            For k = say To son1
                x2 = Range(Cells(k, "C"), Cells(k, "H")).Address
                y2 = Range(Cells(i, "K"), Cells(i, "N")).Address
                deg2 = Evaluate("=SUM((MMULT(ISNUMBER(MATCH(" & x2 & "," & y2 & ",0))+0,{1;1;1;1;1;1})=4)+0)")
                If deg2 = 0 Then Exit For
                say = say + 1
            Next k
            Exit For
            
        Next j
    Next i

    MsgBox "İşleminiz Bitti.", , "excel.web.tr"
    Application.ScreenUpdating = True
    Application.Calculation = xlAutomatic

End Sub

.
 
2 5 11 12 14 18 dizisini SEÇİLENLER arasında aradığım zaman en fazla 3 doğru buluyor. Sizde rastgele 6 sayı seçip 4lü dizi bulmaya çalışıp test edebilirsiniz hocam. Hata büyük ihtimalle ilk baştan kurgu hatasıdır, hata sonucu kendini 6.SEÇİM de gösteriyor.
 
6. seçimdeki hatayla ilgili daha önce eklediğiniz videodaki gibi bir çalışma yapıp (video çekmeden de anlatabilirsiniz.);
1-4-5-8-9-10 dizisinin neden seçilemeyeceğini anlatabilirseniz, hatanın çözümü için işimiz kolaylaşır diye düşünüyorum.

.
 
Hocam benim çektiğim video biraz uzun kabul ediyorum ancak orada 1-2-4-7 dizisinin "kullanılmama" sebebi var , zamanınız olduğunda izleyebilirseniz daha iyi anlaşılır eminim.

Algoritmanın en baştan doğru kurgulanması için baştan beri izlemenizi tavsiye ederim. 1-2-4-7 dizisinin niye olamayacağı cevabı 10.56 dakikadan sonra geliyor.

https://vimeo.com/260247588

Merhaba,

Benim mantığım şu şekilde :

1. Dizi 1-2-3-4-5-6
2. Dizi 1-2-3-4-5-7 vs böyle gidiyor

Ben birinci sıradakini alıyorum, ikinciyi okuduğumda 5 sayı benzerliği olduğu için (4 ve 5) eliyorum

Böyle düşündüğümde 10 say olarak loto oynadığımızda tam olasılık 210 kolon

5 garanti (en fazla 5 sayı benzerliğinde) bu 18 kolona
4 garanti (4 ve 5 sayı benzerliğini elediğinde) bu 5 kolona düşüyor.

Bu da alternatif olsun böyle kullanın :)

İsterseniz yıllar önce yaptığım dosyayı da ekleyebilirim. Sayıları seçiyorsunuz ve 3-4-5 ve 6 garanti olarak oynanacak kolonları listeliyorsunuz.

Sizin mantığınızdan farklı bir durum.
 
ilginiz için tşk ederim hocam. #30 nolu mesajım geçerli hala
 
6. seçimdeki hatayla ilgili daha önce eklediğiniz videodaki gibi bir çalışma yapıp (video çekmeden de anlatabilirsiniz.);
1-4-5-8-9-10 dizisinin neden seçilemeyeceğini anlatabilirseniz, hatanın çözümü için işimiz kolaylaşır diye düşünüyorum.

.



hocam , korhan hocama verdiğim cevabı vereceğim SATIR 3307 1 4 5 8 9 10 manuel olarak o kadar ilerlemem zor, tahmini olarak söylüyorum, muhtemelen 1-2-4-8 dizisi elendiğinde sizin verdiğiniz dizide eleniyordur....

#30 nolu mesajım geçerli hala. buradan ilerleyelim bence...

http://www.excel.web.tr/showpost.php?p=934496&postcount=30
 
Geri
Üst