Страница: 1 |
Страница: 1 |
Вопрос: Text m@sturb@ti()n :)
Добавлено: 19.11.05 19:37
Автор вопроса: LoveSan
Нигде не могу найти кода для нахождения самого короткого слова и подсчете в нем кол-ва гласных. (сообщение Help ME!!!) Я уже с этими Len'ами и Mid'ами замучился,-не прет:( Помогите пожалуйста!!!
Ответы
Всего ответов: 6
Номер ответа: 1
Автор ответа:
AgentFire
ICQ: 192496851
Вопросов: 75
Ответов: 3178
Профиль | | #1
Добавлено: 19.11.05 22:48
for i=1 to 20000
for j=1 to len(arrWords(i))
if CheckOnLetter(arrWords(i),j) then letters(i)=letters(i)+1
next
next
for i=1 to 20000
if letters(i)>result then
result=letters(i)
result2=i
end if
next
msgbox arrWords(result2)
Номер ответа: 2
Автор ответа:
AgentFire
ICQ: 192496851
Вопросов: 75
Ответов: 3178
Профиль | | #2
Добавлено: 19.11.05 22:54
Ой,забыл...
'Я думаю, тут нетрудно разместить кодик... мне просто лень... прости... надо... ...поспать... немного поспать... чуть-чуть... ...надо... совсем..немного... совсем... поспа.......
end function
Номер ответа: 3
Автор ответа:
POST
Вопросов: 14
Ответов: 269
Web-сайт:
Профиль | | #3
Добавлено: 20.11.05 00:13
надо поспать, надо чуть-чуть
надо найти.. правильный путь.
(c) Агата Кристи
Номер ответа: 4
Автор ответа:
Sharp
Лидер форума
ICQ: 216865379
Вопросов: 106
Ответов: 9979
Web-сайт:
Профиль | | #4
Добавлено: 20.11.05 04:57
Самое короткое слово
for i=1 to ubound(split(s, " ")
if len(split(s, " "(i)) < len(split(s, " "(min)) then min = i
next
shortest_word = split(s, " "(min)
g = "аоуиыэяёюе"
for i=1 to len(s)
if instr(mid(s, i, 1), g) <> 0 then res = res + 1
next
Номер ответа: 5
Автор ответа:
LoveSan
Вопросов: 10
Ответов: 4
Профиль | | #5
Добавлено: 20.11.05 11:34
Hi dude! Sorry that i'm noob in VB. Но я че-то никак не втяну,- я должен вводить текст в поле Text1, а затем при нажатии Command1 проходят все подсчеты. Не получается совместить этот код с Command1. Можно в данном случае без Check0nLetter обойтись? А то я не знаю каким боком его уже туда запихнуть...
Номер ответа: 6
Автор ответа:
Victor
ICQ: 345743490
Вопросов: 42
Ответов: 385
Web-сайт:
Профиль | | #6
Добавлено: 21.11.05 00:53
Private sub Command1_click
...
End sub
'Сюда суй Function CheckOnLetter (...)
Вот так. Надеюсь, заполнить все пропуски проблемой не будет.
Для разбивки на слова:
Dim sArr() As String 'Массив строк для хранения слов
Dim Max as long
sarr=split(text1.text," "
Цикл по всем словам.
Max = 0
For i = 0 to UBound(sArr)
If Len(sArr(i))<Len(sArr(Max)) then
'Это слово короче
Max = i
End If
Next i
'Самое короткое слово = sArr(Max)
Для подсчета гласных в нем:
Cnt = 0
For i = 1 to Len(sArr(Max))
If CheckOnLetter(Mid(sArr(Max), i, 1)) then
Cnt = Cnt + 1
end if
Next i
'Cnt содержит колво гласных в слове sArr(Max)
Если я нигде не ошибся, то должно работать (реализацию CheckOnLetter см. ответ 4)