sayılar

29/08/2010, 17:18

accessman

iyi günler
6 haneli sayılardan oluşan bir metnimiz var
hersayı bir ile dokuz arası sayılardan oluşuyor
yani
632214
923752
888345
gibi
yapmak istediğim bir formul ile aynı rakamlardan aynı sayıda içeren metinleri eşit olduğunu yazan bir formul üretmek
ne gibi
122345 ile 453122 aynı kabul edilmeli
yani şöyle bir örnek vereyim
9 kişilik sınıftan her öğrencinin adı farkklı
altı hediye var
bir öğrenci birden fazla hediye alabilir
çekilişte hediye çıkma sırası önemli değil
122345 te
1. öğrenciye bir
2.öğrenciye iki
......
hediye çıkmış
453122 de de
1. öğrenciye bir
2.öğrenciye iki
......
hediye çıkmış
bu iki metnin birbirine eşit olduğunu nasıl bilgisayar dili ile ifade edebiliriz
teşekkürler
29/08/2010, 23:47

kadirdursun

önce ben bir anlasam ne olduğunu sonra bilgisayara anlatıcam... hediyeleri öğrencilere direk versek hocam neden sayılarla uğraşıyorsunuz.
30/08/2010, 06:25

accessman

hediye piyangosu diyelim
ama her çekilişten sonra numarayı torbaya atiyoruz
hediye çıkan numaraları bir yere yazıyoruz
her çıkan numaranın kaçıncı çekilişte çıktığı önemli olmayacak sonuçta hangi numaralara kaç kez çıktıysa birbirinin aynı olanlar eşit kabul edilecek
01/09/2010, 03:02

accessman

bir bilen
hatta sadece ilgilenen biri bile yokmu
01/09/2010, 03:07

alpeki99

İlgilenmek istiyorum ama elimde işlerim var ayrıca ramazanda daha zor oluyor bu işler. İnanırmısın bu konuyu en az 3 defa okudum ama hala neyi nasıl neden yapmaya çalıştığını algılayamıyorum.
06/09/2010, 17:04

accessman

teşekkürler alpeki99
istediğim şu idi
2 3 5 6 7 3
sayıları ile
5 2 3 3 7 6
veya
3 5 7 3 6 2
sayıları aynı sadece sıraları değişik
sıralarının önemli olmadığını
bunların birbirinin aynısı olduğunu bulan bir fonksiyon yazılacak
benim aklıma gelen
bunları büyükten küçüğe sıralayıp bir metin haline getirmek
hepsi ozaman
233567
olacak bizde diyeceğizki bu altı rakam birbirinin aynısıdır
aşağıdaki kod ile sn.horozufuk (yanlış hatırlamıyorsam) çözüm bulmuştu[/code]

Kod:
Dim SONUC As String
Dim rs As DAO.Recordset
    Dim db As Database
    Dim strSQL As String
    Set db = CurrentDb()
    strSQL = "SELECT  * FROM SAYILAR"
    Set rs = db.OpenRecordset(strSQL)
    If rs.EOF = True Then GoTo 150
    rs.MoveFirst
    Do Until rs.EOF
    A(1) = rs!S1
    A(2) = rs!S2
    A(3) = rs!S3
    A(4) = rs!S4
    A(5) = rs!S5
    A(6) = rs!S6
    For L = 1 To 5
    K = Chr(255)
    For I = 1 To 5
    If A(I) <> Chr(0) And A(I) < K Then K = A(I): J = I
    Next I
    B(L) = A(J)
    A(J) = Chr(0)
    Next L
    SONUC = ""
    For I = 1 To 5
    SONUC = SONUC & B(I)
    Next I
    SONUC = SONUC & A(6)
    rs.Edit
    rs!M1 = SONUC
    rs.Update
    rs.MoveNext
    Loop
150
MsgBox ("İŞLEM TAMAM")
End Sub
[code]