34 lines
2.3 KiB
Plaintext
34 lines
2.3 KiB
Plaintext
Public Sub Main()
|
|
Dim sToCode As String[] = ["broood", "bananaaa", "hiphophiphop"] 'Samples to process
|
|
Dim sHold As New String[] 'To store results
|
|
Dim siCount, siCounter, siPos As Short 'Various variables
|
|
Dim sOutput, sCode, sWork, sEach As String 'Various variables
|
|
|
|
For siCounter = 0 To sToCode.Max 'To loop through each 'Sample'
|
|
sCode = "abcdefghijklmnopqrstuvwxyz" 'Set sCode to default setting
|
|
For siCount = 1 To Len(sToCode[siCounter]) 'Loop through each letter in 'Sample'
|
|
sWork = Mid(sToCode[siCounter], siCount, 1) 'sWork to store the Letter
|
|
siPos = InStr(scode, sWork) - 1 'Find the position of the letter in sCode, -1 for '0' based array
|
|
sOutput &= Str(siPos) & " " 'Add the postion to sOutput
|
|
sCode = Mid(sCode, siPos + 1, 1) & Replace(sCode, sWork, "") 'sCode = the letter + the rest of sCode except the letter
|
|
Next
|
|
Print sToCode[siCounter] & " = " & sOutput 'Print the 'Sample' and the coded version
|
|
sHold.Add(Trim(sOutput)) 'Add the code to the sHold array
|
|
sOutput = "" 'Clear sOutput
|
|
Next
|
|
|
|
Print 'Print a blank line
|
|
|
|
For siCounter = 0 To sHold.Max 'To loop through each coded 'Sample'
|
|
sCode = "abcdefghijklmnopqrstuvwxyz" 'Set sCode to default setting
|
|
For Each sEach In Split(sHold[siCounter], " ") 'For each 'code' in coded 'Sample'
|
|
sWork = Mid(sCode, Val(sEach) + 1, 1) 'sWork = the decoded letter
|
|
sOutput &= sWork 'Add the decoded letter to sOutput
|
|
sCode = sWork & Replace(sCode, sWork, "") 'sCode = the decoded letter + the rest of sCode except the letter
|
|
Next
|
|
Print sHold[siCounter] & " = " & sOutput 'Print the coded and decoded result
|
|
sOutput = "" 'Clear sOutput
|
|
Next
|
|
|
|
End
|