Введение 8 Этапы создания Windowsприложения 8
Скачать 6.98 Mb.
|
Приложение 43Дана строка текста. Заменить каждый символ, стоящий после буквы «а» на символ звездочка (*). Dim s As String Dim i As Integer lstText.Items.Clear() s = InputBox("Введите строку") lstText.Items.Add(s) For i = 1 To Len(s) - 1 If Strings.Mid(s, i, 1) = "а" Or _ Strings.Mid(s, i, 1) = "А" Then Mid(s, i + 1, 1) = "*" End If Next lstText.Items.Add(s) Приложение 44Дана строка текста, в которой слова разделены произвольным количеством пробелов. Пробелы могут стоять перед первым словом и за последним. Сформировать массив слов строки. Исходную строку и полученный массив вывести в окно списка. Решить задачу тремя разными способами. Способ 1. Dim s As String Dim i As Integer Dim slova() As String Dim tek As String Dim n As Integer lstText.Items.Clear() s = InputBox("Введите строку") lstText.Items.Add(s) n = -1 tek = "" s += " " For i = 1 To Len(s) - 1 If Mid(s, i, 1) <> " " Then tek += Mid(s, i, 1) End If If Mid(s, i, 1) <> " " And _ Mid(s, i + 1, 1) = " " Then n += 1 ReDim Preserve slova(n) slova(n) = tek tek = "" End If Next lstText.Items.Add("------------------------------------") lstText.Items.Add("Слова строки") For i = 0 To n lstText.Items.Add(slova(i)) Next Способ 2. Dim s As String Dim i As Integer Dim slova() As String Dim n As Integer Dim pos As Integer lstText.Items.Clear() s = InputBox("Введите строку") lstText.Items.Add(s) s = Strings.Trim(s) Do Until Strings.InStr(s, " ") = 0 s = Strings.Replace(s, " ", " ") Loop n = -1 s += " " Do While Len(s) > 0 pos = Strings.InStr(s, " ") n += 1 ReDim Preserve slova(n) slova(n) = Strings.Left(s, pos - 1) s = Strings.Mid(s, pos + 1) Loop lstText.Items.Add("------------------------------------") lstText.Items.Add("Слова строки") For i = 0 To n lstText.Items.Add(slova(i)) Next Способ 3. Dim s As String Dim i As Integer Dim slova() As String Dim n As Integer lstText.Items.Clear() s = InputBox("Введите строку") lstText.Items.Add(s) s = Strings.Trim(s) Do Until Strings.InStr(s, " ") = 0 s = Strings.Replace(s, " ", " ") Loop slova = Strings.Split(s) n = UBound(slova) lstText.Items.Add("------------------------------------") lstText.Items.Add("Слова строки") For i = 0 To n lstText.Items.Add(slova(i)) Next Приложение 45Дана строка текста, в которой слова разделены произвольным количеством пробелов. Пробелы могут стоять перед первым словом и за последним. Найти самое длинное слово, являющееся палиндромом. Палиндромом называется слово, которое одинаково читается как слева направо, так и справа налево. Исходную строку и полученные результаты вывести в окно списка. Dim s As String Dim i As Integer Dim slova() As String Dim n As Integer Dim max As String lstText.Items.Clear() s = InputBox("Введите строку") lstText.Items.Add(s) s = Strings.Trim(s) Do Until Strings.InStr(s, " ") = 0 s = Strings.Replace(s, " ", " ") Loop slova = Strings.Split(s) n = UBound(slova) max = "" For i = 0 To n If slova(i) = Strings.StrReverse(slova(i)) _ And Len(slova(i)) > Len(max) Then max = slova(i) End If Next lstText.Items.Add("------------------------------------") If max <> "" Then lstText.Items.Add("Самое длинное слово-палиндром") lstText.Items.Add(max) Else lstText.Items.Add("В строке нет слов-палиндромов") End If Приложение 46Дана строка текста, в которой слова разделены произвольным количеством пробелов. Пробелы могут стоять перед первым словом и за последним. Найти сумму всех чисел в строке. Исходную строку и полученные результаты вывести в окно списка. Dim s As String Dim i As Integer Dim slova() As String Dim n As Integer Dim summa, kol As Integer lstText.Items.Clear() s = InputBox("Введите строку") lstText.Items.Add(s) s = Strings.Trim(s) Do Until Strings.InStr(s, " ") = 0 s = Strings.Replace(s, " ", " ") Loop slova = Strings.Split(s) n = UBound(slova) summa = 0 kol = 0 For i = 0 To n If Strings.Trim(Str(Val(slova(i)))) = slova(i) Then summa += Val(slova(i)) kol += 1 End If Next lstText.Items.Add("------------------------------------") If kol = 0 Then lstText.Items.Add("В строке нет чисел") Else lstText.Items.Add("Сумма =" + Str(summa)) End If |