• 26-09-2012, 13:32:42
    #1
    merhaba arkadaşlar

    arrValue = Array("1","4","23","3")

    arrValue = Array(2,44,1,5,7)

    yukarıdaki array içerisindeki değerleri kıyasladığımızda alttaki değer çalışıyor üstteki değerli olan çalışmıyor çalışır hale nasıl getirebilirim
    amacım bir yerden gelen değerleri büyük küçük sıralaması yaptırmak


    Function BubbleSort(arrInt)

    for i = UBound(arrInt) - 1 To 0 Step -1

    for j= 0 to i

    if arrInt(j)>arrInt(j+1) then

    temp = arrInt(j+1)

    arrInt(j+1) = arrInt(j)

    arrInt(j) = temp

    end if

    next

    next

    BubbleSort = arrInt

    end function


    response.write Join(BubbleSort(arrValue),",")
  • 26-09-2012, 14:45:20
    #2
    cumlelerin cok devrik, pek bir sey anlasilmiyor.

    2. satirda sordugun soruya istinaden (sorting) bir fonksiyon var. kullanabilirsin.

    function sortArray(arrShort)
    
        for i = UBound(arrShort) - 1 To 0 Step -1
            for j= 0 to i
                if arrShort(j)>arrShort(j+1) then
                    temp=arrShort(j+1)
                    arrShort(j+1)=arrShort(j)
                    arrShort(j)=temp
                end if
            next
        next
        sortArray = arrShort
    
    end function
  • 26-09-2012, 14:53:52
    #3
    bu şekilde yaptım çalışmadı

    arrShort=Array("12","3","55","123","5","5","7","34 44")


    function sortArray(arrShort)

    for i = UBound(arrShort) - 1 To 0 Step -1
    for j= 0 to i
    if arrShort(j)>arrShort(j+1) then
    temp=arrShort(j+1)
    arrShort(j+1)=arrShort(j)
    arrShort(j)=temp
    end if
    next
    next
    sortArray = arrShort

    end function


    response.Write sortArray(arrShort)
  • 26-09-2012, 15:42:51
    #4
    "34 44" bu integer deger degil ki?
  • 26-09-2012, 16:10:25
    #5
    arrShort=Array("12","3","55","123","5","5","7","34 44")


    function sortArray(arrShort)

    for i = UBound(arrShort) - 1 To 0 Step -1
    for j= 0 to i
    if arrShort(j)>arrShort(j+1) then
    temp=arrShort(j+1)
    arrShort(j+1)=arrShort(j)
    arrShort(j)=temp
    end if
    next
    next
    sortArray = arrShort

    end function


    response.Write sortArray(arrShort)

    ordaki boşluğu forum atıyor kısacası çalışmıyor kod
    Beklenmeyen veri türüyle karşılaşıldı.
  • 26-09-2012, 18:37:13
    #6
    Şunu Dene

    Dim Deger
    Deger = Array(12,24,51,24,15,35,15,650,418)
    
    
    Function BubbleSort(arrInt)
    for i = UBound(arrInt) - 1 To 0 Step -1
        for j= 0 to i
            if arrInt(j)>arrInt(j+1) then
                temp = arrInt(j+1)
                arrInt(j+1) = arrInt(j)
                arrInt(j) = temp
            end if
        next
    next 
    BubbleSort = arrInt
    end function
    
    response.write Join(BubbleSort(Deger ),",")
  • 26-09-2012, 19:27:00
    #7
    ron onu denedim fakat veri tabanında çektiğim verileri misal veriler bunlar

    12,22,11,23,1,43,11,444

    array nesnesine aktardığımda çalışmıyor.

    veritabanı bağlantısı yaptım

    dim veri = sql sorgusu yaptım .

    Dim Deger
    Deger = Array(veri)


    Function BubbleSort(arrInt)
    for i = UBound(arrInt) - 1 To 0 Step -1
    for j= 0 to i
    if arrInt(j)>arrInt(j+1) then
    temp = arrInt(j+1)
    arrInt(j+1) = arrInt(j)
    arrInt(j) = temp
    end if
    next
    next
    BubbleSort = arrInt
    end function

    response.write Join(BubbleSort(Deger ),",")

    çalışmıyor sıralama yapmıyor. string mi dönüyor anlamış değilim
  • 26-09-2012, 19:58:48
    #8
    @fsahinoglu, herhangi bir string veriyi Array( str ) şeklinde dizi değişkene atayamazsın onun yerine

    str = "12,22,11,23,1,43,11,444"
    arrShort = Split(str, ",")


    Şeklinde virgülden parçalayarak array haline dönüştürebilirsin. tabi bu yönetimi kullanacaksan Trim() fonksiyonunu arada kullanmanı öneririm.

    Birde benim yazdığım fonksiyona aşağıdaki bağlantıdan ulaşabilir, deneyebilirsin. Fonksiyon, sayısal değerleri küçükten büyüğe ve büyükten küçüğe sıralama yapabiliyor.

    Asp Array Number Sort
  • 26-09-2012, 21:49:35
    #9
    Üyeliği durduruldu
    sayıları virgülle ayırıp değişkene koyup dizinin içine yerleştirince onu 1 tane dizi nesnesi olarak algılar. bu sorunun önüne geçmek için değişkendeki sayıları for kullanarak yeni bir dizi oluşturmak gerekir. örnek kod aşağıda. takıldığınız yerde sorun cevaplarız.

    Alıntı
    <%
    Gelen="25,14,20,45,25,4,1,31,22,7"

    Bol=Split(Gelen,",")

    Dim Sirala()
    ReDim Preserve Sirala(Ubound(Bol))

    For k=0 TO Ubound(Bol)
    Sirala(k) = Clng(Trim(Bol(k)))
    Next

    Toplam=Ubound(Sirala)

    For i=0 to Toplam
    For j=i+1 to Toplam
    if Sirala(i)>Sirala(j) then
    HafizayaAl=Sirala(i)
    Sirala(i)=Sirala(j)
    Sirala(j)=HafizayaAl
    end if
    next
    next


    For i=0 to Toplam
    Response.write (Sirala(i) & "<br />")
    next

    %>