PC Ekspert Forum

PC Ekspert Forum (https://forum.pcekspert.com/index.php)
-   Web dizajn, programiranje i ostalo (https://forum.pcekspert.com/forumdisplay.php?f=39)
-   -   Naredbe bubble sorta u Visual Basicu (https://forum.pcekspert.com/showthread.php?t=94273)

Shook 09.01.2008. 02:24

Naredbe bubble sorta u Visual Basicu
 
Pozdrav!
Za četvrtak 10.01 imam zadatak iz programiranja napraviti niz od 400 slučajnih brojeva od 0 do 999 u matrici 20X20 i od toga napraviti bubble sort. Prvi dio za matricu mi izgleda ovako:

Module Module1
Sub Main()
Dim a(20, 20) As Integer
Dim sluc As Integer
Dim min, max As Integer
Dim randomObject As New Random()
Dim i, j As Integer
sluc = randomObject.Next(1, 999)
For i = 0 To 19
For j = 0 To 19
sluc = randomObject.Next(1, 999)
a(i, j) = sluc
Console.Write(a(i, j) & vbTab)
Next
Console.WriteLine()
Next

End Sub
End Module

Molim Vas da li netko zna koje naredbe trebam napisati da mi se napravi bubble sort?

Unaprijed hvala!

pogi 09.01.2008. 13:36

Pa upiši u google bubble sort i iskodiraj to u vb.

Ako si znao napunit matricu slučajnim brojevima, u čemu je problem, pretpostavljam kako je 2d matrica da je treba sortirati po redovima?

Shook 09.01.2008. 17:08

tako je, samo neznam koje naredbe napisati, tražio sam po google-u, to su većinom naredbe za C++, nigdje nemogu naći za visual basic... zadatak je točno glasio: napravit niz od 400 slučajnih brojeva od 0 do 999 i onda ih sortirat najmanji-najveći i spisat ih u redu od 0 do 19 20-40...380-399 i napravit bubble sort

pogi 09.01.2008. 17:28

To što su primjeri u C++ nebi trebalo biti problem. Bez obzira što neznaš C++...

Ahhh ... probaj nabaviti neku knjigu tipa (ova je najjednostavnija)
Teach Yourself Data Structures And Algorithms In 24 hours - Robert Lafore

A do tada sam našao nekakav moj kod u VBA od prije ni neznam koliko (dakle ne primam pokude na kod :-) ) Koristi polja A4:AM4 i koje upišeš nekakve brojeve. Glavna stvar koju će profesor vjerojatno tražiti da se unutarnja petlja mora za svako izvođenje vanjske petlje mora smanjivati (ako sam se dobro izrazio

Citiraj:

Dim shit As Object

Sub bubble_sort()
Const matrsize = 39
Dim matrica(matrsize) As Integer

Dim result As Boolean

Set shit = Sheets("Sheet1")

'napuni matricu
For i = 1 To matrsize
matrica(i) = shit.Cells(4, i).Value
Next

result = bsort(matrica, matrsize)


End Sub

Function bsort(ByRef matrix, ByVal size As Integer) As Boolean
Dim tempvar, i, j, brojprolaza, brojzamjena As Integer

brojprolaza = 0
brojzamjena = 0
For i = 1 To (size - 1)
For j = 1 To ((size - 1) - (i - 1))
brojprolaza = brojprolaza + 1
shit.Cells(5, j).Value = 1
shit.Cells(5, j + 1).Value = 1
If shit.Cells(4, j).Value > shit.Cells(4, j + 1).Value Then
brojzamjena = brojzamjena + 1
tempvar = shit.Cells(4, j).Value
shit.Cells(4, j).Value = shit.Cells(4, j + 1).Value
shit.Cells(4, j + 1).Value = tempvar
End If
shit.Cells(5, j).Value = 0
shit.Cells(5, j + 1).Value = 0
Next j
Next i
MsgBox "Broj prolaza = " & brojprolaza & " Broj zamjena = " & brojzamjena
bsort = True
End Function



Sva vremena su GMT +2. Sada je 01:43.

Powered by vBulletin®
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
© 1999-2024 PC Ekspert - Sva prava pridržana ISSN 1334-2940
Ad Management by RedTyger