Сортировать буквы в строке по частоте их употребления. vb6
Формулировка задачи:
Вырезал все первые буквы слов в строку, избавился от одинаковых..Осталось как-то сортировать их по частоте употребления. Скорее всего это нужно делать еще до избавления от одинаковых. Можно с массивом, можно без. Уже 2 неделю не могу понять, как реализовать. Выручайте
Решение задачи: «Сортировать буквы в строке по частоте их употребления. vb6»
textual
Листинг программы
Private Sub Command1_Click() Dim s As String, ss As String Dim msg As String, msg1 As String, temp As String Dim i As Integer, j As Integer s = "Сортировать буквы в строке по частоте их употребления" ss = UniqWords(s) For i = 1 To Len(ss) msg = msg & Mid(ss, i, 1) & " - " & UBound(Split(s, Mid(ss, i, 1))) & vbCrLf Next i For i = 1 To Len(ss) For j = i To Len(ss) - 1 If UBound(Split(s, Mid(ss, i, 1))) < UBound(Split(s, Mid(ss, j + 1, 1))) Then temp = Mid(ss, i, 1) Mid(ss, i, 1) = Mid(ss, j + 1, 1) Mid(ss, j + 1, 1) = temp End If Next j msg1 = ss Next i MsgBox msg & vbCrLf & msg1 End Sub Private Function UniqWords(ByVal ss As String) As String Dim i As Long, j As Long, s As String For i = 1 To Len(ss) s = s & " " & Mid(ss, i, 1) Next i s = " " & s & " " i = 2 Do j = InStr(i + 1, s, " ") If j = 0 Then Exit Do If InStr(1, Left$(s, i), Mid$(s, i, j - i + 1), vbTextCompare) = 0 Then UniqWords = UniqWords & Mid$(s, i, j - i) i = j Loop Do While InStr(1, UniqWords, " ") UniqWords = Replace(UniqWords, " ", "") Loop End Function
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д