Visual Basic Sortiranje o Zadatak Unesite broj N
Visual Basic – Sortiranje o Zadatak: Unesite broj N. Unesite N brojeva tipa Single. Poredajte brojeve po veličini od najmanjeg do najvećeg.
Visual Basic – Sortiranje o o Unesi N brojeva Sortiraj brojeve Ispiši niz
Visual Basic – Sortiranje Dim N, I As Integer, P(1000) As Single Dim Ispis As String N = Input. Box("N=") For I = 1 To N P(I) = Input. Box("P(" & Str(I) & ")=") Next o Sortiraj brojeve Ispis = "" For I = 1 To N Ispis = Ispis & Str(P(I)) If I < N Then Ispis = Ispis & ", " Next Msg. Box(Ispis)
Visual Basic – Sortiranje o Strategija: n Proglasiti posljednji element u polju najvećim. n Razmotriti redom elemente od prvog do predposljednjeg i svakom koji je veći od posljednjeg, zamijeniti vrijednosti s posljednjim n Nakon prvog koraka na posljednjem će se mjestu nalaziti najveći element n Postupak ponavljati smanjujući u svakom koraku duljinu polja za 1
Visual Basic – Sortiranje 5 2 9 4 6 8 1
Visual Basic – Sortiranje 5 2 9 4 6 8 1
Visual Basic – Sortiranje 5 2 9 4 6 8 1
Visual Basic – Sortiranje 1 2 9 4 6 8 5
Visual Basic – Sortiranje 1 2 9 4 6 8 5
Visual Basic – Sortiranje 1 2 9 4 6 8 5
Visual Basic – Sortiranje 1 2 9 4 6 8 5
Visual Basic – Sortiranje 1 2 5 4 6 8 9
Visual Basic – Sortiranje 1 2 5 4 6 8 9
Visual Basic – Sortiranje 1 2 5 4 6 8 9
Visual Basic – Sortiranje 1 2 5 4 6 8 9
Visual Basic – Sortiranje 1 2 5 4 6 8 9
Visual Basic – Sortiranje 1 2 5 4 6 8 9
Visual Basic – Sortiranje 1 2 5 4 6 8 9
Visual Basic – Sortiranje 1 2 5 4 6 8 9
Visual Basic – Sortiranje 1 2 5 4 6 8 9
Visual Basic – Sortiranje 1 2 5 4 6 8 9
Visual Basic – Sortiranje 1 2 5 4 6 8 9
Visual Basic – Sortiranje 1 2 5 4 6 8 9
Visual Basic – Sortiranje 1 2 5 4 6 8 9
Visual Basic – Sortiranje 1 2 5 4 6 8 9
Visual Basic – Sortiranje 1 2 5 4 6 8 9
Visual Basic – Sortiranje 1 2 5 4 6 8 9
Visual Basic – Sortiranje 1 2 5 4 6 8 9
Visual Basic – Sortiranje 1 2 4 5 6 8 9
Visual Basic – Sortiranje 1 2 4 5 6 8 9
Visual Basic – Sortiranje 1 2 4 5 6 8 9
Visual Basic – Sortiranje 1 2 4 5 6 8 9
Visual Basic – Sortiranje Dim N = For N, I As Integer, P(1000) As Single Ispis As String Input. Box("N=") I = 1 To N P(I) = Input. Box("P(" & Str(I) & ")=") Next For I = N To 2 Step -1 o Proglasi I-ti element najvećim o Zamijeni vrijednost svakog elementa koji je veći od I-tog s I-tim Next Ispis = "" For I = 1 To N Ispis = Ispis & Str(P(I)) If I < N Then Ispis = Ispis & ", " Next Msg. Box(Ispis)
Visual Basic – Sortiranje Dim N = For N, I, J As Integer, P(1000) As Single Ispis As String, pom As Single Input. Box("N=") I = 1 To N P(I) = Input. Box("P(" & Str(I) & ")=") Next For I = N To 2 Step -1 For J = 1 To I-1 If P(J) > P(I) Then pom = P(J) = P(I) = pom End If Next Ispis = "" For I = 1 To N Ispis = Ispis & Str(P(I)) If I < N Then Ispis = Ispis & ", " Next Msg. Box(Ispis)
Visual Basic – Sortiranje o Ovo sortiranje, koje nikako nije najbolje, zove se sortiranje zamjenomom (exchange sort).
Visual Basic – Sortiranje o Zadatak: Unesite broj N. Unesite N brojeva tipa Single. Poredajte brojeve po veličini od najmanjeg do najvećeg.
Visual Basic – Sortiranje o o Unesi N brojeva Sortiraj brojeve Ispiši niz
Visual Basic – Sortiranje Dim N, I As Integer, P(1000) As Single Dim Ispis As String N = Input. Box("N=") For I = 1 To N P(I) = Input. Box("P(" & Str(I) & ")=") Next o Sortiraj brojeve Ispis = "" For I = 1 To N Ispis = Ispis & Str(P(I)) If I < N Then Ispis = Ispis & ", " Next Msg. Box(Ispis)
Visual Basic – Sortiranje o Strategija: n Redom razmatrati elemente od prvog do predposljednjeg n Svaki element uspoređivati s njegovim sljedbenikom n Ako je veći od sljedbenika zamijeniti im mjesta n Nakon svakog prolaska će najveći lement biti na kraju polja n Smanjiti duljinu polja za 1 i ponavljati sve dok ne dođemo do polja duljine 1
Visual Basic – Sortiranje 5 2 9 4 6 8 1
Visual Basic – Sortiranje 5 2 9 4 6 8 1
Visual Basic – Sortiranje 5 2 9 4 6 8 1
Visual Basic – Sortiranje 2 5 9 4 6 8 1
Visual Basic – Sortiranje 2 5 9 4 6 8 1
Visual Basic – Sortiranje 2 5 9 4 6 8 1
Visual Basic – Sortiranje 2 5 9 4 6 8 1
Visual Basic – Sortiranje 2 5 4 9 6 8 1
Visual Basic – Sortiranje 2 5 4 9 6 8 1
Visual Basic – Sortiranje 2 5 4 9 6 8 1
Visual Basic – Sortiranje 2 5 4 6 9 8 1
Visual Basic – Sortiranje 2 5 4 6 9 8 1
Visual Basic – Sortiranje 2 5 4 6 9 8 1
Visual Basic – Sortiranje 2 5 4 6 8 9 1
Visual Basic – Sortiranje 2 5 4 6 8 9 1
Visual Basic – Sortiranje 2 5 4 6 8 9 1
Visual Basic – Sortiranje 2 5 4 6 8 1 9
Visual Basic – Sortiranje 2 5 4 6 8 1 9
Visual Basic – Sortiranje 2 5 4 6 8 1 9
Visual Basic – Sortiranje 2 5 4 6 8 1 9
Visual Basic – Sortiranje 2 4 5 6 8 1 9
Visual Basic – Sortiranje 2 4 5 6 8 1 9
Visual Basic – Sortiranje 2 4 5 6 8 1 9
Visual Basic – Sortiranje 2 4 5 6 8 1 9
Visual Basic – Sortiranje 2 4 5 6 1 8 9
Visual Basic – Sortiranje 2 4 5 6 1 8 9
Visual Basic – Sortiranje 2 4 5 6 1 8 9
Visual Basic – Sortiranje 2 4 5 6 1 8 9
Visual Basic – Sortiranje 2 4 5 6 1 8 9
Visual Basic – Sortiranje 2 4 5 6 1 8 9
Visual Basic – Sortiranje 2 4 5 1 6 8 9
Visual Basic – Sortiranje 2 4 5 1 6 8 9
Visual Basic – Sortiranje 2 4 5 1 6 8 9
Visual Basic – Sortiranje 2 4 5 1 6 8 9
Visual Basic – Sortiranje 2 4 5 1 6 8 9
Visual Basic – Sortiranje 2 4 1 5 6 8 9
Visual Basic – Sortiranje 2 4 1 5 6 8 9
Visual Basic – Sortiranje 2 4 1 5 6 8 9
Visual Basic – Sortiranje 2 4 1 5 6 8 9
Visual Basic – Sortiranje 2 1 4 5 6 8 9
Visual Basic – Sortiranje 2 1 4 5 6 8 9
Visual Basic – Sortiranje 2 1 4 5 6 8 9
Visual Basic – Sortiranje 1 2 4 5 6 8 9
Visual Basic – Sortiranje Dim N = For N, I As Integer, P(1000) As Single Ispis As String Input. Box("N=") I = 1 To N P(I) = Input. Box("P(" & Str(I) & ")=") Next For I = N To 2 Step -1 o Proglasi I-ti element najvećim o Zamijeni vrijednost svakog elementa koji je veći od I-tog s I-tim Next Ispis = "" For I = 1 To N Ispis = Ispis & Str(P(I)) If I < N Then Ispis = Ispis & ", " Next Msg. Box(Ispis)
Visual Basic – Sortiranje Dim N = For N, I, J As Integer, P(1000) As Single Ispis As String, pom As Single Input. Box("N=") I = 1 To N P(I) = Input. Box("P(" & Str(I) & ")=") Next For I = N-1 To 2 Step -1 For J = 1 To I If P(J) > P(J+1) Then pom = P(J) = P(J+1) = pom End If Next Ispis = "" For I = 1 To N Ispis = Ispis & Str(P(I)) If I < N Then Ispis = Ispis & ", " Next Msg. Box(Ispis)
Visual Basic – Sortiranje o Ovo sortiranje, koje nikako nije najbolje, zove se mjehuričasto sortiranje(bubble sort).
Visual Basic – Sortiranje o Ovo sortiranje ima još jedno dobro svojstvo: o Ako u jednom prolazu nema ni jedne zamjene možemo zaključiti da je polje sortirano
Visual Basic – Sortiranje o Da bismo to iskoristili treba nam još jedna logička varijabla, koja će nam govoriti je li se dogodila zmjena u prolazu o Na početku tu varijablu stavljamo na false, a kada se dogodi zamjena, njenu vrijednost mijenjamo na true.
Visual Basic – Sortiranje Dim N = For N, I, J As Integer, P(1000) As Single Ispis As String, pom As Single, zamjena As Boolean Input. Box("N=") I = 1 To N P(I) = Input. Box( "P(" & Str(I) & ")=") Next For I = N - 1 To 2 Step -1 zamjena = False For J = 1 To I If P(J) > P(J + 1) Then pom = P(J) = P(J + 1) = pom zamjena = True End If Next If Not zamjena Then Exit For Next Ispis = "" For I = 1 To N Ispis = Ispis & Str(P(I)) If I < N Then Ispis = Ispis & ", " Next Msg. Box(Ispis)
Visual Basic – Sortiranje o Zadatak: Unesite broj N. Unesite N brojeva tipa Single. Poredajte brojeve po veličini od najmanjeg do najvećeg.
Visual Basic – Sortiranje o o Unesi N brojeva Sortiraj brojeve Ispiši niz
Visual Basic – Sortiranje Dim N, I As Integer, P(1000) As Single Dim Ispis As String N = Input. Box("N=") For I = 1 To N P(I) = Input. Box("P(" & Str(I) & ")=") Next o Sortiraj brojeve Ispis = "" For I = 1 To N Ispis = Ispis & Str(P(I)) If I < N Then Ispis = Ispis & ", " Next Msg. Box(Ispis)
Visual Basic – Sortiranje o Strategija: n Polje dijelimo na dva dijela, sortirani i nesortirani n U prvom se koraku sortirani dio polja sastoji od smo jednog broja n U svakom koraku prebacujemo prvi broj iz nesortiranog dijela u sortirani dio na sljedeći način o Broj koji želimo prebaciti zapišemo u pomoćnu varijablu o Usporedimo ga s posljednim u sortiranom dijelu te ako je manji od njega posljednji prebacujemo jedno mjesto dalje o Tako redom dok ne dođemo do broja koji je manji od promatranog ili do početka polja o Tu umetnemo novi broj
Visual Basic – Sortiranje 5 2 9 4 6 8 1
Visual Basic – Sortiranje 5 2 9 4 2 6 8 1
Visual Basic – Sortiranje 5 2 9 4 2 6 8 1
Visual Basic – Sortiranje 5 5 9 4 2 6 8 1
Visual Basic – Sortiranje 2 5 9 4 2 6 8 1
Visual Basic – Sortiranje 2 5 9 4 2 6 8 1
Visual Basic – Sortiranje 2 5 9 4 9 6 8 1
Visual Basic – Sortiranje 2 5 9 4 9 6 8 1
Visual Basic – Sortiranje 2 5 9 4 4 6 8 1
Visual Basic – Sortiranje 2 5 9 4 4 6 8 1
Visual Basic – Sortiranje 2 5 9 9 4 6 8 1
Visual Basic – Sortiranje 2 5 5 9 4 6 8 1
Visual Basic – Sortiranje 2 4 5 9 4 6 8 1
Visual Basic – Sortiranje 2 4 5 9 4 6 8 1
Visual Basic – Sortiranje 2 4 5 9 6 6 8 1
Visual Basic – Sortiranje 2 4 5 9 6 6 8 1
Visual Basic – Sortiranje 2 4 5 9 6 9 8 1
Visual Basic – Sortiranje 2 4 5 6 6 9 8 1
Visual Basic – Sortiranje 2 4 5 6 6 9 8 1
Visual Basic – Sortiranje 2 4 5 6 8 9 8 1
Visual Basic – Sortiranje 2 4 5 6 8 8 9 1
Visual Basic – Sortiranje 2 4 5 6 8 8 9 1
Visual Basic – Sortiranje 2 4 5 6 1 8 9 1
Visual Basic – Sortiranje 2 4 5 6 1 8 9 1
Visual Basic – Sortiranje 2 4 5 6 1 8 9 9
Visual Basic – Sortiranje 2 4 5 6 1 8 9 9
Visual Basic – Sortiranje 2 4 5 6 1 8 8 9
Visual Basic – Sortiranje 2 4 5 6 1 8 8 9
Visual Basic – Sortiranje 2 4 5 6 1 6 8 9
Visual Basic – Sortiranje 2 4 5 6 1 6 8 9
Visual Basic – Sortiranje 2 4 5 5 1 6 8 9
Visual Basic – Sortiranje 2 4 5 5 1 6 8 9
Visual Basic – Sortiranje 2 4 4 5 1 6 8 9
Visual Basic – Sortiranje 2 4 4 5 1 6 8 9
Visual Basic – Sortiranje 2 2 4 5 1 6 8 9
Visual Basic – Sortiranje 1 2 4 5 1 6 8 9
Visual Basic – Sortiranje Dim N = For N, I, J As Integer, P(1000) As Single Ispis As String, pom As Single Input. Box("N=") I = 1 To N P(I) = Input. Box("P(" & Str(I) & ")=") Next For I = 1 To N-1 pom = P(I+1) J = I Do While J > 0 And P(J) > pom P(J+1) = P(J) J = J - 1 Loop P(J+1) = pom Next Ispis = "" For I = 1 To N Ispis = Ispis & Str(P(I)) If I < N Then Ispis = Ispis & ", " Next Msg. Box(Ispis)
Visual Basic – Sortiranje o Ovo sortiranje, koje nikako nije najbolje, zove se sortiranje umetanjem (insertion sort).
- Slides: 130