Определить, сколько раз в предложении встречается данный символ - VB
Формулировка задачи:
дан текст. сколько раз в нем встречается символ"+" и сколько раз символ "*"
какая команда используется?
и как((
INSTR?
Решение задачи: «Определить, сколько раз в предложении встречается данный символ»
textual
Листинг программы
- Private Declare Function GetTickCount Lib "kernel32" () As Long
- Function hM0(Txt As String, sym As String) As Long
- p& = 1
- Do
- p& = InStr(p&, Txt, sym)
- If p& = 0 Then Exit Do
- p& = p& + 1
- hM0 = hM0 + 1
- Loop
- End Function
- Function hM1(Txt As String, sym As String) As Long
- For i& = 1 To Len(Txt)
- If Mid$(Txt, i&, 1) = sym Then hM1 = hM1 + 1
- Next i&
- End Function
- Function hM2(Txt As String, sym As String) As Long
- hM2 = UBound(Split(Txt, sym))
- End Function
- Function hM3(Txt As String, sym As String) As Long
- hM3 = Len(Txt) - Len(Replace$(Txt, sym, ""))
- End Function
- Function hM4(Txt As String, sym As String) As Long
- hM4 = (Len(Txt) - Len(Replace$(Txt, sym, ""))) / Len(sym)
- End Function
- Sub Test()
- BigBuf$ = ""
- For j% = 1 To 255
- BigBuf$ = BigBuf$ + Chr$(j%)
- Next j%
- For i% = 1 To 5
- BigBuf$ = BigBuf$ + BigBuf$
- Next i%
- Stt& = GetTickCount
- For i% = 1 To 10000
- k& = hM0(BigBuf$, "*")
- Next i%
- Stp& = GetTickCount
- Debug.Print "INSTR: "; Stp& - Stt&
- ' Исключен из теста за очевидной медленностью...
- 'Stt& = GetTickCount
- 'For i% = 1 To 10000
- ' k& = hM1(BigBuf$, "*")
- 'Next i%
- 'Stp& = GetTickCount
- 'Debug.Print "FOR: "; Stp& - Stt&
- Stt& = GetTickCount
- For i% = 1 To 10000
- k& = hM2(BigBuf$, "*")
- Next i%
- Stp& = GetTickCount
- Debug.Print "SPLIT: "; Stp& - Stt&
- Stt& = GetTickCount
- For i% = 1 To 10000
- k& = hM3(BigBuf$, "*")
- Next i%
- Stp& = GetTickCount
- Debug.Print "Replace$: "; Stp& - Stt&
- Stt& = GetTickCount
- For i% = 1 To 10000
- k& = hM4(BigBuf$, "*")
- Next i%
- Stp& = GetTickCount
- Debug.Print "Replace$ / Len: "; Stp& - Stt&
- End Sub
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д