Just nu i M3-nätverket
Jump to content

sortering med bubbel sort.


Jonsson86

Recommended Posts

Hej!

 

Jag har ett problem jag har lyckats sortera tal i en array med hjälp av bubbelsorteringen som finns under proceduren sort_tal_Click()

men sen har jag ett problem här hur gör jag om jag ska sortera bokstäver i en sträng då det ska börja på a. Det är under proceduren stringarrayen_Click() som den ska sortera bokstäver

Får det inte att funka tyvärr men skickar me koden här:

 

[color="#0000ff"]Option Explicit[/color] [color="#006400"]'deklarerar variablar[/color]
[color="#0000ff"]Dim[/color] intArrayer() As Integer
[color="#0000ff"]Dim[/color] strArrayer() As [color="#0000ff"]String[/color]
[color="#0000ff"]Dim[/color] inttal As Integer
[color="#0000ff"]Dim[/color] strtal As Integer
[color="#0000ff"]Dim[/color] talen, talen2 As [color="#0000ff"]String[/color]
[color="#0000ff"]Dim[/color] i, j As Integer
[color="#0000ff"]Public[/color] [color="#0000ff"]Sub[/color] form_load()
Caption = [GRÅ]"Sortering och sökning av arrayer"[/GRÅ]
[color="#006400"]'form load händelse[/color]
[color="#0000ff"]End[/color] [color="#0000ff"]Sub[/color]
[color="#0000ff"]Private[/color] [color="#0000ff"]Sub[/color] sok_tal_Click()
[color="#006400"]'sök efter talen i arrayen och utmata detta i en msgbox[/color]
[color="#0000ff"]End[/color] [color="#0000ff"]Sub[/color]
[color="#0000ff"]Private[/color] [color="#0000ff"]Sub[/color] sort_[color="#0000ff"]String[/color]_Click()
[color="#006400"]'Sortera stringarray med [GRÅ]"a"[/GRÅ] först[/color]
[color="#0000ff"]End[/color] [color="#0000ff"]Sub[/color]
[color="#0000ff"]Private[/color] [color="#0000ff"]Sub[/color] sort_tal_Click()
[color="#0000ff"]Dim[/color] temp As Integer
[color="#0000ff"]Dim[/color] a As Integer

[color="#0000ff"]For[/color] j = 0 [color="#0000ff"]To[/color] i - 2
    [color="#0000ff"]For[/color] a = 0 [color="#0000ff"]To[/color] i - 2
        [color="#0000ff"]If[/color] intArrayer(a) > intArrayer(a + 1) = [color="#0000ff"]True[/color] [color="#0000ff"]Then[/color]
            temp = intArrayer(a)
            intArrayer(a) = intArrayer(a + 1)
            intArrayer(a + 1) = temp
        [color="#0000ff"]End[/color] [color="#0000ff"]If[/color]
    [color="#0000ff"]Next[/color] a
[color="#0000ff"]Next[/color] j

[color="#0000ff"]Dim[/color] antal As Integer
[color="#0000ff"]Dim[/color] sorterad As [color="#0000ff"]String[/color]

[color="#0000ff"]For[/color] antal = 0 [color="#0000ff"]To[/color] i - 1
    sorterad = sorterad & [GRÅ]" "[/GRÅ] & intArrayer(antal)
[color="#0000ff"]Next[/color] antal

[color="#0000ff"]MsgBox[/color] [GRÅ]"Detta är talen i talarrayen: "[/GRÅ] & sorterad

[color="#0000ff"]End[/color] [color="#0000ff"]Sub[/color]
[color="#0000ff"]Private[/color] [color="#0000ff"]Sub[/color] stringarrayen_Click()
i = [color="#0000ff"]InputBox[/color]([GRÅ]"Skapa stringarray: "[/GRÅ])
[color="#0000ff"]ReDim[/color] strArrayer(i - 1)

[color="#0000ff"]For[/color] strtal = i [color="#0000ff"]To[/color] 1 Step -1
    strArrayer(strtal - 1) = strtal + 1
    talen2 = talen2 & [GRÅ]" "[/GRÅ] & strArrayer(strtal - 1)
[color="#0000ff"]Next[/color] strtal
[color="#0000ff"]End[/color] [color="#0000ff"]Sub[/color]
[color="#0000ff"]Public[/color] [color="#0000ff"]Sub[/color] talarrayen_Click()
i = [color="#0000ff"]InputBox[/color]([GRÅ]"Skapa talarray: "[/GRÅ])
[color="#0000ff"]ReDim[/color] intArrayer(i - 1)

[color="#0000ff"]For[/color] inttal = i [color="#0000ff"]To[/color] 1 Step -1
    intArrayer(inttal - 1) = inttal + 1
    talen = talen & [GRÅ]" "[/GRÅ] & intArrayer(inttal - 1)
[color="#0000ff"]Next[/color] inttal

[color="#0000ff"]End[/color] [color="#0000ff"]Sub[/color]
[color="#0000ff"]Private[/color] [color="#0000ff"]Sub[/color] Visa_stringarray_Click()
[color="#0000ff"]MsgBox[/color] [GRÅ]"Detta är värden i stringarrayen: "[/GRÅ] & talen2
[color="#0000ff"]End[/color] [color="#0000ff"]Sub[/color]
[color="#0000ff"]Private[/color] [color="#0000ff"]Sub[/color] visa_talarray_Click()
[color="#0000ff"]MsgBox[/color] [GRÅ]"Detta är talen i talarrayen: "[/GRÅ] & talen
[color="#0000ff"]End[/color] [color="#0000ff"]Sub[/color]

 

[inlägget ändrat 2005-05-24 13:16:56 av Jonsson86]

Link to comment
Share on other sites

Normalt sett så fungerar en bubblesort likadant för siffror som den gör för tal. Notera dock att den kommer att göra skillnad på små och stora bokstäver om du inte ser till att de blir jämförda i samma "storlek".

 

Om du kopierar din sort_tal och byter ut intArray mot stringArray så borde den fungera likadant. Jag använder iaf min för samma sak, men jag har en global funktion och skickar sen in arrayen till funktionen som en receive-variabel (by ref).

 

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.



×
×
  • Create New...