Avatar billede gadebarnet Nybegynder
15. marts 2004 - 16:54 Der er 8 kommentarer og
1 løsning

array sortering

jeg har arraynummeren = "1,5,9,2,6,3,5"

det skal så sorteres så det største kommer først...

hvordan?
Avatar billede thomas_yde Nybegynder
15. marts 2004 - 17:07 #1
Avatar billede gadebarnet Nybegynder
15. marts 2004 - 17:15 #2
Den kan ikke sortere den rigtige vej, eller også ved jeg ikke hvbordan jeg laver det om...
Avatar billede nmh Nybegynder
15. marts 2004 - 18:01 #3
her er den sædvanlige boblesortering:
Option Explicit
dim s,A,i,j,n, tmp
s="1,5,9,2,6,3,5"
A=split(s,",")
n=Ubound(A)
For i = 1 To n
  For j = 0 To n - i
    If A(j)<A(j+1) Then
      tmp=A(j)
      A(j)=A(j+1)
      A(j+1)=tmp       
    end if
  next
next
s=join(A,",")

nu er s lig "9,6,5,5,3,2,1"
Der benyttes alfabetisk sortering og ikke talsortering.
Det er det samme for tal med kun et ciffer, men "10" er mindre end "9" når der er tale om alfabetisk sortering.
Vil det være et problem for dig?
Avatar billede gadebarnet Nybegynder
15. marts 2004 - 18:37 #4
Ja, det tror jeg vil blove et problem, siden jeg har følgende tal.

43244,656236,563425236,43214,432,4,5435,423342

Nogle ideer?
Avatar billede nmh Nybegynder
15. marts 2004 - 18:47 #5
Ja da. Du skal så blot konvertere til tal.
A=split(s,",")
n=Ubound(A)
skal ændres til
A=split(s,",")
n=Ubound(A)
for i=0 to n
  A(i)=Clng(A(i))
next

Der konverteres til lange heltal.
Avatar billede gadebarnet Nybegynder
15. marts 2004 - 19:10 #6
Jeg er muligvis ikke så kvik... kan du ikke bakse det sammen
Avatar billede nmh Nybegynder
15. marts 2004 - 19:14 #7
Jo, det kan jeg da.
Sådan:

dim s,A,i,j,n, tmp
s="1,5,9,2,6,3,5"
A=split(s,",")
n=Ubound(A)
for i=0 to n
  A(i)=Clng(A(i))
next
For i = 1 To n
  For j = 0 To n - i
    If A(j)<A(j+1) Then
      tmp=A(j)
      A(j)=A(j+1)
      A(j+1)=tmp       
    end if
  next
next
s=join(A,",")
Avatar billede gadebarnet Nybegynder
16. marts 2004 - 08:18 #8
tak, den virkede... :)
Avatar billede nmh Nybegynder
16. marts 2004 - 09:36 #9
selv tak, det var så lidt.
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