Avatar billede juks Novice
16. december 2007 - 16:23 Der er 3 kommentarer og
1 løsning

hvordan tæller samme poster i array

Hvis jeg har et array der indeholder  en række tal , og den skal finde hvilke 10 tal der kommer flest gange og hvor mange gange.

hvordan gør jeg så det ???
Avatar billede terry Ekspert
16. december 2007 - 16:50 #1
Have you considered using a datbase for this juks?
Avatar billede supertekst Ekspert
16. december 2007 - 17:01 #2
Eksempel, hvor koden er lagt i et Word-dok:

Dim arr As Variant, arrTæl(), antal
Sub optælArray()

Rem Test-array
    arr = Array(2, 1, 4, 33, 5, 6, 2, 6, 2, 1, 4, 5, 6, 7, 19, 10, 8, 19, 33, 20, 21, 22, 23, 24, 2)
    antal = UBound(arr)
   
    ReDim arrTæl(antal, 2)
   
Rem Nulstil optællingsArray
    For f = 0 To antal
        arrTæl(f, 0) = -1
        arrTæl(f, 1) = 0
    Next f
   
Rem Gennemløb af BasisArray
    For f = 0 To antal
        tal = arr(f)
        optælTal tal, antal
    Next f
   
    WordBasic.sortArray arrTæl, 1, 0, antal - 1, 0, 1
   
    res = ""
    For f = 0 To 9
        res = res + CStr(arrTæl(f, 0)) + ": " + CStr(arrTæl(f, 1)) + vbCr
    Next f
    MsgBox (res)
End Sub
Private Sub optælTal(tal, antal)
    For f = 0 To antal
        If arrTæl(f, 0) = -1 Then
            arrTæl(f, 0) = tal
            arrTæl(f, 1) = 1
            Exit For
        Else
            If tal = arrTæl(f, 0) Then
                arrTæl(f, 1) = arrTæl(f, 1) + 1
                Exit For
            End If
        End If
    Next f
End Sub
Avatar billede juks Novice
02. maj 2008 - 12:23 #3
smid svar tak
Avatar billede supertekst Ekspert
02. maj 2008 - 13:03 #4
Det får du....
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester