Cортировка слов по алфавиту - VB
Формулировка задачи:
Пользователь вводит строку и надо ее отсортировать по алфавиту не пользуясь массивом.
Заранее спасибо )))))))
Решение задачи: «Cортировка слов по алфавиту»
textual
Листинг программы
Option Explicit
Option Compare Text
Private Sub Command1_Click()
Dim s As String
s = InputBox("Введите фразу", , "Пользователь вводит строку и надо ее отсортировать по алфавиту не пользуясь массивом")
s = Replace(Replace(s, ",", " "), ".", " ")
While InStr(1, s, " ")
s = Replace(s, " ", " ") ' Тут убираем длинные пробелы
Wend
s = AlphabetSort(s)
MsgBox s
End Sub
Function AlphabetSort(sString As String) As String
Dim bSorted As Boolean, i As Integer, arrS, sTemp As String
arrS = Split(sString)
Do While Not bSorted
bSorted = True
For i = 0 To UBound(arrS) - 1
If Mid(arrS(i + 1), 1) < Mid(arrS(i), 1) Then
bSorted = False
sTemp = arrS(i)
arrS(i) = arrS(i + 1)
arrS(i + 1) = sTemp
End If
Next
AlphabetSort = Join(arrS)
Loop
End Function