Процедура обработки строки состоит из двух последовательных операций: заменить в строке все символы 'a' на подстроку 'ab' заменить в строке все подстроки 'bb' на символ 'с' процедура может выполняться многократно. в этом случае, при очередном вызове, на вход процедуре подается строка, получившаяся в результате предыдущего выполнения процедуры. например, если исходно была строка 'aab' и процедура выполнилась 3 раза, то в результате получится строка 'abcacc'. пусть исходно была строка 'abab', и процедуру выполнили 333 раза. определите количество каждого символа в получившейся строке. в ответе укажите через запятую три числа: сначала количество символов 'a', затем количество символов 'b' и затем количество символов 'c'.
Answers & Comments
Verified answer
Создаем в Excel VBA две пользовательские функции:
Function newstr(str As String, n As Integer) As String
Dim i As Integer
For i = 1 To n
str = Replace(str, "a", "ab")
str = Replace(str, "bb", "c")
Next
newstr = str
End Function
Function chrcount(str1 As String, str2 As String) As Integer
Dim str() As String
str = Split(str1, str2)
chrcount = UBound(str, 1)
End Function
В ячейку рабочего листа вставляем формулу:
= chrcount(newstr("abab"; 333); "a")&","&chrcount(newstr("abab"; 333); "b")&","&chrcount(newstr("abab"; 333); "c")
Получаем результат:
2,0,334