Just nu i M3-nätverket
Gå till innehåll

sortering med bubbel sort.


Jonsson86

Rekommendera Poster

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]

Länk till kommentar
Dela på andra webbplatser

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).

 

Länk till kommentar
Dela på andra webbplatser

Arkiverat

Det här ämnet är nu arkiverat och är stängt för ytterligare svar.

×
×
  • Skapa nytt...