В заданной строке определить длину самого короткого слова - VB
Формулировка задачи:
В заданной строке, состоящей из "слов", разделенных одним или более пробелами, определить длину самого короткого "слова".
есть такой вариант, но нужен другой
вот такой еще сделал
Но тут еще надо куда-то Trim всунуть и если слов в строке больше чем два то получается надо сравнивать все S()?!
Вообщем помогите второй дороботать пожлуйсто
Листинг программы
- Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
- Dim sStr As String, sWord As String, iMin As Integer, iLen As Integer, oObj
- sStr = TextBox1.Text
- iMin = Len(sStr)
- For Each oObj In Split(sStr)
- iLen = Len(Trim(oObj))
- If iLen <> 0 Then
- If iLen < iMin Then iMin = iLen : sWord = oObj
- End If
- Next
- TextBox2.Text = sWord & " состоит из " & iMin & " букв."
- End Sub
Листинг программы
- Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
- Dim sStr As String, sWord As String, Imin As Integer, minSlovo As String
- sStr = TextBox1.Text
- Imin = Len(sStr)
- Dim s() As String = Split(sStr, " ")
- If Len(s(0)) < Len(s(1)) Then Imin = Len(s(0)) : minSlovo = s(0) Else Imin = Len(s(1)) : minSlovo = s(1)
- MsgBox("Самое короткое слово '" & minSlovo & "' состоит из " & Imin & " букв.")
- End Sub
Решение задачи: «В заданной строке определить длину самого короткого слова»
textual
Листинг программы
- st = Trim(TextBox1.Text)
- If Len(st) > 0 Then
- Do While InStr(1, st, " ") > 0
- st = Replace(st, " ", " ")
- Loop
- sm = Split(st, " ")
- d = Len(sm(LBound(sm))): st1 = sm(LBound(sm))
- For i = LBound(sm) + 1 To UBound(sm)
- If d > Len(sm(i)) Then
- d = Len(sm(i))
- st1 = CStr(sm(i))
- End If
- Next i
- MsgBox st1 & " " & d
- End If
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д