Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Option Explicit On
- Option Strict On
- Option Infer On
- Option Compare Text
- Imports System.Windows.Forms
- Imports System.IO
- Module FizzBuzz
- Sub Main()
- Dim arrayOfStrings As String() = GetInput("C:tempfizzbuzz.txt")
- Dim arrayOfIntegers = ConvertMe(arrayOfStrings)
- arrayOfStrings = FizzBuzzMe(arrayOfStrings, arrayOfIntegers)
- Dim concatenatedArray As String = WillYouBeMine(arrayOfStrings)
- WriteFizzBuzzFile(concatenatedArray)
- End Sub
- Private Function GetInput(ByVal path As String) As String()
- Dim returnText As String = File.ReadAllText(path)
- Dim returnArray As String() = returnText.Split(New String() {","}, StringSplitOptions.None)
- Return returnArray
- End Function
- Private Function ConvertMe(ByVal arrayOfStrings As String()) As Integer()
- Return Array.ConvertAll(arrayOfStrings, Function(str) Int32.Parse(str))
- End Function
- Private Function FizzBuzzMe(ByVal arrayOfStrings As String(), ByVal arrayOfIntegers As Integer()) As String()
- Dim i As Integer
- For i = 0 To arrayOfStrings.Length - 1
- If Not arrayOfIntegers(i) Mod 15 = 0 Then
- If arrayOfIntegers(i) Mod 3 = 0 Then
- arrayOfStrings(i) = "fizz"
- ElseIf arrayOfIntegers(i) Mod 5 = 0 Then
- arrayOfStrings(i) = "buzz"
- End If
- Else : arrayOfStrings(i) = "fizzbuzz"
- End If
- Next
- Return arrayOfStrings
- End Function
- Private Function WillYouBeMine(ByVal stringArray As String()) As String
- Return String.Join(",", stringArray)
- End Function
- Private Sub WriteFizzBuzzFile(ByVal concatenatedArray As String)
- Const NEW_FILE As String = "C:Tempfizzbuzzreturn.txt"
- Dim fileAuthor As New StreamWriter(NEW_FILE)
- If Not File.Exists(NEW_FILE) Then File.CreateText(NEW_FILE)
- fileAuthor.WriteLine(concatenatedArray)
- fileAuthor.Close()
- End Sub
- End Module
- Private Function FizzBuzzMe(ByVal arrayOfIntegers As Integer()) As String()
- Dim arrayOfStrings As New String(arrayOfIntegers.Length)
- Dim i As Integer
- For i = 0 To arrayOfStrings.Length - 1
- If Not arrayOfIntegers(i) Mod 15 = 0 Then
- If arrayOfIntegers(i) Mod 3 = 0 Then
- arrayOfStrings(i) = "fizz"
- ElseIf arrayOfIntegers(i) Mod 5 = 0 Then
- arrayOfStrings(i) = "buzz"
- End If
- Else : arrayOfStrings(i) = "fizzbuzz"
- End If
- Next
- Return arrayOfStrings
- End Function
- Private Sub WriteFizzBuzzFile(ByVal concatenatedArray As String)
- Const NEW_FILE As String = "C:Tempfizzbuzzreturn.txt"
- Using fileAuthor As New StreamWriter(NEW_FILE)
- fileAuthor.WriteLine(concatenatedArray)
- End Using
- End Sub
- Private Function ConvertMe(ByVal arrayOfStrings As String()) As Integer()
- Return Array.ConvertAll(arrayOfStrings, Function(str) Integer.Parse(str))
- End Function
- Sub Main()
- Dim arrayOfStrings As String() = GetInput("C:tempfizzbuzz.txt")
- Dim arrayOfIntegers = ConvertMe(arrayOfStrings)
- arrayOfStrings = FizzBuzzMe(arrayOfIntegers)
- Dim concatenatedArray As String = String.Join(",", arrayOfStrings)
- WriteFizzBuzzFile(concatenatedArray)
- End Sub
- Private Function FizzBuzzMe(ByVal arrayOfIntegers As Integer()) As String()
- Dim arrayOfStrings(arrayOfIntegers.Length) As String
- Dim i As Integer
- For i = 0 To arrayOfStrings.Length - 1
- arrayOfStrings(i) = ""
- If i Mod 3 = 0 Then
- arrayOfStrings(i) &= "fizz"
- End If
- If i Mod 5 = 0 Then
- arrayOfStrings(i) &= "buzz"
- End If
- Next
- Return arrayOfStrings
- End Function
- Private Function GetInput(ByVal path As String) As String()
- Return File.ReadAllText(path).Split(New String() {","}, StringSplitOptions.None)
- End Function
- For i As Integer = 0 To arrayOfStrings.Length - 1
- Private Iterator Function FizzBuzzMe(ByVal arrayOfIntegers As Integer()) As IEnumerable(Of String)
- For i As Integer = 0 To arrayOfIntegers.Length - 1
- Dim line As String = ""
- If i Mod 3 = 0 Then
- line &= "fizz"
- End If
- If i Mod 5 = 0 Then
- line &= "buzz"
- End If
- Yield line
- Next
- End Function
- Sub Main()
- Dim arrayOfStrings As String() = GetInput("C:tempfizzbuzz.txt")
- Dim arrayOfIntegers = ConvertMe(arrayOfStrings)
- arrayOfStrings = FizzBuzzMe(arrayOfIntegers).ToArray()
- Dim concatenatedArray As String = String.Join(",", arrayOfStrings)
- WriteFizzBuzzFile(concatenatedArray)
- End Sub
- Private Function FizzBuzzMe(ByVal arrayOfIntegers As Integer()) As IEnumerable(Of String)
- Return arrayOfIntegers.Select(Function(x)
- Dim value As String = ""
- If x Mod 3 = 0 Then value &= "fizz"
- If x Mod 5 = 0 Then value &= "buzz"
- Return value
- End Function)
- End Function
- Private Function FizzBuzzMe(ByVal arrayOfIntegers As Integer()) As IEnumerable(Of String)
- Return arrayOfIntegers.Select(Function(x)
- Return If(x Mod 3 = 0, "fizz", "") & If(x Mod 5 = 0, "buzz", "")
- End Function)
- End Function
- Private Function FizzBuzzMe(ByVal arrayOfIntegers As Integer()) As IEnumerable(Of String)
- Return arrayOfIntegers.Select(Function(x) If(x Mod 3 = 0, "fizz", "") & If(x Mod 5 = 0, "buzz", ""))
- End Function
- Sub Main()
- Dim arrayOfStrings As String() = GetInput("C:tempfizzbuzz.txt")
- Dim arrayOfIntegers = ConvertMe(arrayOfStrings)
- arrayOfStrings = FizzBuzzMe(arrayOfIntegers).ToArray()
- Dim concatenatedArray As String = String.Join(",", arrayOfStrings)
- WriteFizzBuzzFile(concatenatedArray)
- End Sub
- Private Function GetInput(ByVal path As String) As String()
- Return File.ReadAllText(path).Split(New String() {","}, StringSplitOptions.None)
- End Function
- Private Function ConvertMe(ByVal arrayOfStrings As String()) As Integer()
- Return Array.ConvertAll(arrayOfStrings, Function(str) Integer.Parse(str))
- End Function
- Private Function FizzBuzzMe(ByVal arrayOfIntegers As Integer()) As IEnumerable(Of String)
- Return arrayOfIntegers.Select(Function(x)
- Return If(x Mod 3 = 0, "fizz", "") & If(x Mod 5 = 0, "buzz", "")
- End Function)
- End Function
- Private Sub WriteFizzBuzzFile(ByVal concatenatedArray As String)
- Const NEW_FILE As String = "C:Tempfizzbuzzreturn.txt"
- Using fileAuthor As New StreamWriter(NEW_FILE)
- fileAuthor.WriteLine(concatenatedArray)
- End Using
- End Sub
- 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15
- ,,fizz,,buzz,fizz,,,fizz,buzz,,fizz,,,fizzbuzz
- If arrayOfIntegers(i) Mod 15 = 0 Then
- arrayOfStrings(i) = "fizzbuzz"
- ElseIf arrayOfIntegers(i) Mod 3 = 0 Then
- arrayOfStrings(i) = "fizz"
- ElseIf arrayOfIntegers(i) Mod 5 = 0 Then
- arrayOfStrings(i) = "buzz"
- End If
- Dim returnArray As String() = returnText.Split({","c})
- If Not File.Exists(NEW_FILE) Then File.CreateText(NEW_FILE)
- Dim fileAuthor As New StreamWriter(NEW_FILE, true)
- Sub WriteResults(inFile As String, outFile As String)
- Using inStream As New System.IO.StreamReader(inFile)
- Using outStream As New System.IO.StreamWriter(outFile, False)
- Do Until inStream.EndOfStream
- Dim test As Integer = 0
- '44 is ASCII code for the comma
- Do Until inStream.Peek = 44 OrElse inStream.EndOfStream
- test += inStream.Read - 48
- Dim pek As Integer = inStream.Peek
- If pek <> 44 AndAlso Not inStream.EndOfStream Then
- test *= 10
- test += inStream.Read - 48
- pek = inStream.Peek
- End If
- Loop
- inStream.Read()
- If test Mod 3 = 0 Then
- outStream.Write("fizz")
- End If
- If test Mod 5 = 0 Then
- outStream.Write("buzz")
- End If
- If Not inStream.EndOfStream Then
- outStream.Write(",")
- End If
- test = 0
- Loop
- End Using
- End Using
- End Sub
Add Comment
Please, Sign In to add comment