Страница: 1 |
Страница: 1 |
Вопрос: Помогите убрать массив из Текста
Добавлено: 14.12.05 19:04
Автор вопроса: 7395
Помогите, чтобы данная программа работала без массива - она показывает кол-во слов в тексте в процентах, имеющие удвоенные согласные...Как можно избежать массива???
Private Sub txt1_Change()
Dim Massiv()
Dim Schetchik%, i%, j%, Index%
Dim word$, soglasnie$
Dim Otvet!
soglasnie = "бвгджзйклмнпрстфхцчшщ"
ReDim Massiv(0)
For i = 1 To Len(txt1)
If Mid(txt1, i, 1) <> " " Then
Massiv(Index) = Massiv(Index) + Mid(txt1, i, 1)
Else
Index = Index + 1
ReDim Preserve Massiv(Index)
End If
Next i
For i = 0 To UBound(Massiv)
word = Massiv(i)
For j = 1 To Len(word)
If Mid(word, j + 1, 1) = Mid(word, j, 1) And _
InStr(soglasnie, Mid(word, j, 1)) <> 0 Then Schetchik = Schetchik + 1
Next j
Next i
Otvet = Schetchik / (UBound(Massiv) + 1) * 100
lbl1 = Format(Otvet, "0.00") & "%"
End Sub
Ответы
Всего ответов: 12
Номер ответа: 1
Автор ответа:
Barsik
Разработчик Offline Client
ICQ: 343368641
Вопросов: 17
Ответов: 686
Web-сайт:
Профиль | | #1
Добавлено: 14.12.05 21:42
юзай переменную
Номер ответа: 2
Автор ответа:
7395
Вопросов: 10
Ответов: 7
Профиль | | #2
Добавлено: 14.12.05 23:26
Какую переменную, новую или уже имеющуюся???
Номер ответа: 3
Автор ответа:
HACKER
Разработчик Offline Client
Вопросов: 236
Ответов: 8362
Профиль | | #3
Добавлено: 15.12.05 02:36
Dim Word As String
Dim Schetchik%, i%, j%, Index%, count%
Const soglasnie$ = "бвгджзйклмнпрстфхцчшщ"
For Index = 1 To Len(txt1)
Word$ = Trim(Mid(txt1, Index, InStr(Index, txt1, " ", vbBinaryCompare)))
If Trim(Word$) <> "" Then
For j = 1 To Len(Word$)
If Mid(Word$, j + 1, 1) = Mid(Word$, j, 1) And _
InStr(soglasnie, Mid(Word$, j, 1)) <> 0 Then Schetchik = Schetchik + 1
Next j
count = count + 1
Index = InStr(Index, txt1, " ", vbBinaryCompare)
End If
Next Index
On Error Resume Next
lbl1 = Format(Schetchik / count * 100, "0.00" & "%"
End Sub
Номер ответа: 4
Автор ответа:
HOOLIGAN
Вопросов: 0
Ответов: 1066
Профиль | | #4
Добавлено: 15.12.05 04:43
Хм, на мой непросвящённый взгляд, здесь как раз массив нужен. Для того, чтобы хранить в нем то, что хранится в переменной soglasnie (как минимум, а желательно ещё и текст затолкать в другой массив). Это должно повысить скорость работы.
Номер ответа: 5
Автор ответа:
LamerOnLine
ICQ: 334781088
Вопросов: 108
Ответов: 2822
Профиль | | #5
Добавлено: 15.12.05 11:12
Ну да, только массив не вариантный - это понизит скорость работы
Номер ответа: 6
Автор ответа:
HOOLIGAN
Вопросов: 0
Ответов: 1066
Профиль | | #6
Добавлено: 15.12.05 11:55
Разве кто-то предлагает вариант?
Номер ответа: 7
Автор ответа:
LamerOnLine
ICQ: 334781088
Вопросов: 108
Ответов: 2822
Профиль | | #7
Добавлено: 15.12.05 13:12
Ага, автор вопроса
Номер ответа: 8
Автор ответа:
7395
Вопросов: 10
Ответов: 7
Профиль | | #8
Добавлено: 15.12.05 18:39
Я знаю,что здесь массив нужен, но у меня поставлена задача избежать массив, не думая о скорости работы
Номер ответа: 9
Автор ответа:
HOOLIGAN
Вопросов: 0
Ответов: 1066
Профиль | | #9
Добавлено: 15.12.05 19:26
Странная задача...
Строка ведь тоже ни что иное, как массив. От строк тоже надо избавиться?
Номер ответа: 10
Автор ответа:
HACKER
Разработчик Offline Client
Вопросов: 236
Ответов: 8362
Профиль | | #10
Добавлено: 15.12.05 21:18
ну что? подходит? (3-ий ответ)
Номер ответа: 11
Автор ответа:
7395
Вопросов: 10
Ответов: 7
Профиль | | #11
Добавлено: 15.12.05 23:11
Да подходит, я немного подработал...А так все нормально, спасибо большое!!!
Номер ответа: 12
Автор ответа:
7395
Вопросов: 10
Ответов: 7
Профиль | | #12
Добавлено: 15.12.05 23:14
Просто такая проблема: у нас с одним парнем одна и та же задача, и нам сказали решить ее с использованием массива и без него - мне - Я с применением массива давно уже сделал...И мне сказали делай без, вот у меня проблемы были с реализацией пробелма...А так все хорошо...Спасибо помогли!!!