Option Explicit Private Sub Main() Dim strPh As String strPh = "каждый охотник желает знать где сидит фазан" SolveStr strPh MsgBox strPh End Sub Sub SolveStr(ByRef strPhrase As String) Dim intMin As Integer Dim intNum As Integer Dim strMin As String Dim intPos As Integer Dim strResult As String Dim j As Integer Dim i As Integer Mid(strPhrase, 1, 1) = UCase(Mid(strPhrase, 1, 1)) intMin = 32767 i = 0 j = 1 intPos = InStr(j, strPhrase, " ") Do Until intPos = 0 i = i + 1 Mid(strPhrase, intPos + 1, 1) = UCase(Mid(strPhrase, intPos + 1, 1)) strResult = Mid(strPhrase, j, intPos - j) If Len(strResult) < intMin Then intMin = Len(strResult) intNum = i strMin = strResult End If j = intPos + 1 intPos = InStr(j, strPhrase, " ") Loop MsgBox "Во фразе """ & strPhrase & """ минимальную длину (" & CStr(intMin) & ") имеет " & CStr(intNum) & "-е слово (" & strMin & ")." End Sub |