Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Dim UsernameArray() As String = IO.File.ReadAllLines("Username.txt")
- Imports System.Data.OleDb
- Public Class Form3
- Public Score2 As Integer
- Dim UsernameArray() As String = IO.File.ReadAllLines("Username.txt")
- Dim NumOfValues As Integer = 0
- Dim JustScore(NumOfValues) As Integer
- Private Sub Form3_Load(sender As Object, e As EventArgs) Handles MyBase.Load
- Dim ScoreArray() As String = IO.File.ReadAllLines("Score.txt")
- lblScore.Text = Score2
- UpdateData()
- End Sub
- Private Sub butSubmit_Click(sender As Object, e As EventArgs) Handles butSubmit.Click
- 'Write to a file
- Using Writer As New IO.StreamWriter("Username.txt", True)
- Writer.WriteLine(txtUsername.Text & ", " & lblScore.Text)
- End Using
- Using Writer As New IO.StreamWriter("Score.txt", True)
- Writer.WriteLine(lblScore.Text)
- End Using
- ReDim JustScore(NumOfValues)
- UpdateData()
- MessageBox.Show("Saved")
- butSubmit.Visible = False
- End Sub
- Private Sub butMergeSort_Click(sender As Object, e As EventArgs) Handles butMergeSort.Click
- MergeSort(JustScore)
- MessageBox.Show("Data is Sorted, You can Now use the Searching Operation")
- butSearch.Visible = True
- End Sub
- Private Sub butSearch_Click(sender As Object, e As EventArgs) Handles butSearch.Click
- binary_search()
- End Sub
- Private Sub UpdateData()
- Dim ScoreArray() As String = IO.File.ReadAllLines("Score.txt")
- For i = 0 To ScoreArray.Length - 1
- ScoreArray(i) = CInt(ScoreArray(i))
- JustScore(NumOfValues) = ScoreArray(i)
- NumOfValues += 1
- ReDim Preserve JustScore(NumOfValues)
- Next
- End Sub
- Private Sub Merge_Sort(ByVal ar() As Integer, ByVal low As Integer, ByVal high As Integer)
- If low >= high Then Return
- Dim length As Integer = high - low + 1
- Dim middle As Integer = Math.Floor((low + high) / 2)
- Merge_Sort(ar, low, middle)
- Merge_Sort(ar, middle + 1, high)
- Dim temp(ar.Length - 1) As Integer
- For i As Integer = 0 To length - 1
- temp(i) = ar(low + i)
- Next
- Dim m1 As Integer = 0
- Dim m2 As Integer = middle - low + 1
- For i As Integer = 0 To length - 1
- If m2 <= high - low Then
- If m1 <= middle - low Then
- If temp(m1) > temp(m2) Then
- ar(i + low) = temp(m2)
- m2 += 1
- Else
- ar(i + low) = temp(m1)
- m1 += 1
- End If
- Else
- ar(i + low) = temp(m2)
- m2 += 1
- End If
- Else
- ar(i + low) = temp(m1)
- m1 += 1
- End If
- Next
- End Sub
- Private Sub MergeSort(ByVal ar() As Integer)
- Merge_Sort(ar, 0, ar.Length - 1)
- For j = 0 To JustScore.Length - 1
- Console.WriteLine(JustScore(j) & ", ")
- Next
- End Sub
- Sub binary_search()
- Dim Result As Integer = -1
- Dim Low As Integer = 0
- Dim High As Integer = JustScore.Length - 1
- Dim Middle As Integer
- Dim UserInput As Integer
- UserInput = InputBox("What is Your Score")
- While Low <= High And Result = -1
- Middle = (Low + High) / 2
- If UserInput = JustScore(Middle) Then
- Result = Middle
- ElseIf UserInput < JustScore(Middle) Then
- High = Middle - 1
- ElseIf UserInput > JustScore(Middle) Then
- Low = Middle + 1
- End If
- End While
- Dim temp As Integer
- temp = Result
- Result = JustScore.Length - Result
- If Result > 0 Then
- MessageBox.Show("Your Value is at the " & Result & " Place in the List")
- Else
- MessageBox.Show("Your Value Isn't in the List")
- End If
- End Sub
- End Class
Add Comment
Please, Sign In to add comment