Döngüler ve dizinler konusunda yardım. - Baskı Önizleme +- AccessTr.neT (https://accesstr.net) +-- Forum: Microsoft Access (https://accesstr.net/forum-microsoft-access.html) +--- Forum: Access Cevaplanmış Soruları (https://accesstr.net/forum-access-cevaplanmis-sorulari.html) +--- Konu Başlığı: Döngüler ve dizinler konusunda yardım. (/konu-donguler-ve-dizinler-konusunda-yardim.html) |
Döngüler ve dizinler konusunda yardım. - QATLET - 11/09/2013 Merhabalar ; Elimizde 1-1-2-2-3-3-4-4-5-5-6-6-7-7-8-8 sayıları var. yani 1' den 8' e kadar olan sayılar ve her birinden 2' şer adet. 1- Bu sayılardan üretilebilecek tüm 16 basamaklı sayılar bir dosyaya atılacak. 2- Bu dosyada yer alan 16 basamaklı sayılardan aynı rakam yan yana gelenler ( Ör : 1234567887654321 - 1234567788123456 1.sayıda 8 rakamları yan yana geliyor 2. sayıda 7 ve 8 rakamları yan yana geliyor ) ayıklanacak. Bu ayıklama sonucunda kurala uyan kaç adet sayı üretebileceğimizi bulabileceğiz. Bu işlem senin ne işine yarayacak demeyin. İşin içinde hem bir matematik formülü üretmek var hem de gerek dizinleri gerekse döngüleri kullanmaya güzel bir örnek olacak. Ben yapmayı deniyorum. Ancak sayıları üretme aşamasında döngü mantığını oturtamadım. Yardımı olacaklara şimdiden teşekkürler. Cvp: Döngüler ve dizinler konusunda yardım. - POWER - 12/09/2013 1-1-2-2-3-3-4-4 sayıları kullanılarak 8 haneli istenilen özellikteki sayıları üreten Vba kodu ektedir. Bunu kullanarak 16 hanelileri yapabilirsiniz. Not : Çalışma ve sonuç üretme süresi uzun olacaktır... Cvp: Döngüler ve dizinler konusunda yardım. - QATLET - 12/09/2013 Hocam öncelikle emeğinize sağlık. Teşekkür ederim. Birkaç çözümleyemediğim yer var ; Dim T1(4) As Integer Dim S1 As String For K1 = 1 To 4 For K2 = 1 To 4 For K3 = 1 To 4 For K4 = 1 To 4 For K5 = 1 To 4 For K6 = 1 To 4 For K7 = 1 To 4 For K8 = 1 To 4 S1 = Format(K1, "0") & Format(K2, "0") & Format(K3, "0") & Format(K4, "0") S1 = S1 & Format(K5, "0") & Format(K6, "0") & Format(K7, "0") & Format(K8, "0") For I = 1 To 7 If Mid(S1, I, 1) = Mid(S1, I + 1, 1) Then GoTo 100 Next I 'Buraya kadar olan bölümde bir sayı oluşturuldu ve bu sayının kurala uymayanları döngüye gönderildi. **************************************************************** 'Aşağıdaki üç döngüde tam olarak ne yapıldığını çözemedim. For I = 1 To 4 T1(I) = 0 Next I For I = 1 To 8 L1 = Mid(S1, I, 1) T1(L1) = T1(L1) + 1 Next I For I = 1 To 4 If T1(I) <> 2 Then GoTo 100 Next I ***************************************************************** rs.AddNew rs!SAYI = S1 rs.Update 100 Next K8 Next K7 Next K6 Next K5 Next K4 Next K3 Next K2 Next K1 MsgBox "Sayılarınız TABLO1 de oluşturulmuştur..." End Sub Cvp: Döngüler ve dizinler konusunda yardım. - POWER - 12/09/2013 1-2-3 ve 4 sayılarından 2 şer adet olması lazım.Bu döngüler onu kontrol ediyor. Yani 12131423 geçerli sayı değil. "1" 3 adet kullanılmış fakat "4" bir adet.Bu durumda buda geçerli sayı olmuyor... Cvp: Döngüler ve dizinler konusunda yardım. - QATLET - 12/09/2013 Hocam emeğinize sağlık . Olayı çok güzel özetlediniz. Şimdi sıra n kadar sayı için kurala uyan kaç sayı yazılabilir. Bunun için bir matematik formülü üretmekte. buda benim işim. Formulü bulunca buradan payaşırım. Teşekkürler. Not : Sizden çok iyi bir matematikçi olabilir )) |