[ gensher @ 27.02.2007. 17:48 ] @
| Bubble sortiranje =>
Za niz
Values(i)= 20 40 30 80 60 90 10 70 50 100
Code:
For pass = 1 To 10
For ctr = 1 To 9
If (Values(ctr) > Values(ctr + 1)) Then
t = Values(ctr)
Values(ctr) = Values(ctr + 1)
Values(ctr + 1) = t
End If
Next ctr
Next pass
Koje vrednosti odgovaraju promenljivim pass od 1 do 10, a koje posebno ctr pri izvrsavanju i zasto ctr od 1 do 9 (to i razumem), ali koje njima vrednosti odgovaraju iz niza?
Kako izvrsava korak po korak kod i koje vrednosti (ili indexe) pri tom koristi?
Hvala |
[ masetrt @ 28.02.2007. 10:40 ] @
Uf pa ovaj kod ti je totalno neispravan. Evo kako bi trebalo da izgleda buble sort:
Code:
For pass = 1 To 9
For ctr = pass + 1 To 10
If (Values(pass) > Values(ctr)) Then
t = Values(ctr)
Values(ctr) = Values(pass)
Values(pass) = t
End If
Next ctr
Next pass
[ gensher @ 28.02.2007. 10:47 ] @
Evo ga zapravo ceo kod
Code:
Gosub [AskForData] ' Get user's list of numbers
Gosub [SortData] ' Sort the numbers
Gosub [PrintData] ' Print the numbers
End
[AskForData] ' Gets 10 values from the user
Print "** Number Sorting Program **"
For i = 1 To 10
Input "What is a number for the list? "; Value
Values(i) = Value
Next i
Return
[SortData] ' Sorts the 10 values
For pass = 1 To 10
For ctr = 1 To 9
If (Values(ctr) > Values(ctr + 1)) Then
t = Values(ctr)
Values(ctr) = Values(ctr + 1)
Values(ctr + 1) = t
End If
Next ctr
Next pass
Return
[PrintData]
Print
Print "After the sort:"
For i = 1 To 10
Print Values(i); " "; ' Print list with a space between the
' numbers
Next i
Return
End
[ masetrt @ 28.02.2007. 12:07 ] @
Ok....!? Ne razumem tacno sta si pitao, samo ti onaj algoritam za sortiranje nije tacan. Zameni ga sa onim sto sam ti napisao i sve ce biti OK. Znaci samo deo za sortiranje
[ masetrt @ 28.02.2007. 13:04 ] @
Ups izvini i ono sortiranje sto si ti stavio je tacno :). Mala nepaznja
[ gensher @ 28.02.2007. 14:15 ] @
Znaci zanima me kako se tacno izvrsava code korak po korak kroz apsolutne vrednosti izrazeno...
Values(i) = 20 40 30 80 60 90 10 70 50 100
...i koji index kojoj apsolutnoj vrednosti odgovara u podrutini [SortData], ako kaze " pass = 1 To 10 " i " ctr = 1 To 9 ".
Znaci za Values(pass=1) = Values(1) = "neka vrednost" i Values(ctr=1) = Values(1) = "neka vrednost".
Od prilike je to to...
[ gensher @ 28.02.2007. 14:16 ] @
Mislim da imam odgovor na svoje pitanje/a, ali u svakom slucaju zelim da cujem sta ko ima da kaze... Bitno mi je.
[ masetrt @ 28.02.2007. 14:52 ] @
Pazi ovako u sortiranju ti imas ugnjezdene petlje. Znaci prva promenljiva pass ti ide od 1 do 10. E za svaku vrednost pass promenljive imas promenljivu ctr koja ide od 1 do 9 tj. za pass = 1 ctr ti ide od 1 do 9, pa za pass = 2 ctr ti ide od 1 do 9,... Values(1) ti je = 20, Values(2) ti je = 40,...Values(10) ti je = 100. Kad trenutnu vrednost promenljive ctr stavis u Values(ctr) dobices odgovarajuci element niza tj. ako je ctr = 1 onda je Values(ctr) = 20
Copyright (C) 2001-2025 by www.elitesecurity.org. All rights reserved.