Mrain

SortiranjeMatrica

Dec 13th, 2015
102
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. Module Module1
  2.  
  3.     Sub Main()
  4.         Dim matrica(,) As Byte
  5.  
  6.         matrica = unos()
  7.         Console.WriteLine("Matrica: ")
  8.         ispis(matrica)
  9.         bubbleSort(matrica)
  10.     End Sub
  11.  
  12.     Function unos() As Byte(,)
  13.         Dim matrica(,) As Byte
  14.         Dim retci, stupci As Byte
  15.         Dim rand As Random = New Random()
  16.  
  17.         Console.Write("Broj redaka: ")
  18.         retci = Console.ReadLine()
  19.         Console.Write("Broj stupaca: ")
  20.         stupci = Console.ReadLine()
  21.         ReDim matrica(retci - 1, stupci - 1)
  22.  
  23.         For i = 0 To matrica.GetUpperBound(0)
  24.             For j = 0 To matrica.GetUpperBound(1)
  25.                 matrica(i, j) = rand.Next(1, 200)
  26.             Next
  27.         Next
  28.  
  29.         Return matrica
  30.     End Function
  31.  
  32.     Sub ispis(ByVal matrica(,) As Byte)
  33.         For i = 0 To matrica.GetUpperBound(0)
  34.             For j = 0 To matrica.GetUpperBound(1)
  35.                 Console.Write(matrica(i, j) & " ")
  36.             Next
  37.             Console.WriteLine()
  38.         Next
  39.         Console.WriteLine()
  40.     End Sub
  41.  
  42.     Sub bubbleSort(ByVal matrica(,) As Byte)
  43.         Dim matricaNiz() As Byte = magija(matrica)
  44.  
  45.         For i = 0 To matricaNiz.GetUpperBound(0) - 1 Step 1
  46.             For j = 0 To matricaNiz.GetUpperBound(0) - 1 Step 1
  47.                 If matricaNiz(j) > matricaNiz(j + 1) Then
  48.                     Dim temp As Byte = matricaNiz(j)
  49.                     matricaNiz(j) = matricaNiz(j + 1)
  50.                     matricaNiz(j + 1) = temp
  51.                 End If
  52.             Next
  53.         Next
  54.  
  55.         matrica = magijaReverse(matricaNiz, matrica.GetUpperBound(0), matrica.GetUpperBound(1))
  56.  
  57.         Console.WriteLine("Sortirana matrica: ")
  58.         ispis(matrica)
  59.  
  60.     End Sub
  61.  
  62.     Function magija(ByVal matrica(,) As Byte) As Byte()
  63.         Dim niz() As Byte
  64.         Dim retci, stupci, brojac As Byte
  65.  
  66.         retci = matrica.GetUpperBound(0) + 1
  67.         stupci = matrica.GetUpperBound(1) + 1
  68.  
  69.         ReDim niz((retci * stupci) - 1)
  70.  
  71.         For i = 0 To retci - 1
  72.             For j = 0 To stupci - 1
  73.                 niz(brojac) = matrica(i, j)
  74.                 brojac = brojac + 1
  75.             Next
  76.         Next
  77.  
  78.         Return niz
  79.     End Function
  80.  
  81.     Function magijaReverse(ByVal niz() As Byte, ByVal redak As Byte, ByVal stupac As Byte) As Byte(,)
  82.         Dim matrica(redak, stupac) As Byte
  83.         Dim brojac As Byte
  84.  
  85.         For i = 0 To redak
  86.             For j = 0 To stupac
  87.                 matrica(i, j) = niz(brojac)
  88.                 brojac = brojac + 1
  89.             Next
  90.         Next
  91.  
  92.         Return matrica
  93.     End Function
  94. End Module
Advertisement
Add Comment
Please, Sign In to add comment