Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Помогите.пожалуйста / 25 сообщений из 25, страница 1 из 1
21.12.2010, 04:56
    #37026042
Kasandro
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите.пожалуйста
По информатике скоро зачёт и я не очень сильно в нём разбираюсь, прошу помочь мне с решением некоторых задач.Вот код работы собственно:
Function НайтиСлова(Текст)
Dim Результат() As String
Dim ТекущаПозиция As Long
Dim НайденноеСлово As String
Dim ДлинаСлова As Integer
ReDim Результат(0)
ТекущаяПозиция = 1
Do While MyInstr(ТекущаяПозиция, Текст) > 0
ДлинаСлова = MyInstr(ТекущаяПозиция, Текст) - ТекущаяПозиция
слово = Mid(Текст, ТекущаяПозиция, ДлинаСлова)
If ДлинаСлова > 0 Then
Результат(UBound(Результат)) = слово
ReDim Preserve Результат(UBound(Результат) + 1)
End If
ТекущаяПозиция = ТекущаяПозиция + ДлинаСлова + 1
Loop
Результат(UBound(Результат)) = Mid(Text1.Text, ТекущаяПозиция)
НайтиСлова = Результат

End Function
Private Sub Command1_Click()
Label2.Caption = "Позиция: " & InStr(Text3.Text, Text1.Text, Text2.Text)
End Sub
Private Sub Command2_Click()
слова = НайтиСлова(Text1.Text)
List1.Clear
For i = 0 To UBound(слова)
List1.AddItem слова(i)
Next
Label3.Caption = "Количество: " & UBound(слова)
End Sub
Function MyInstr(ТекущаяПозиция, Текст)
Результат = Len(Text1.Text)
Позиция = InStr(ТекущаяПозиция, Text1.Text, " ")
If Позиция < Результат And Позиция > 0 Then
Результат = Позиция
End If
Позиция = InStr(ТекущаяПозиция, Text1.Text, ".")
If Позиция < Результат And Позиция > 0 Then
Результат = Позиция
End If
Позиция = InStr(ТекущаяПозиция, Text1.Text, ",")
If Позиция < Результат And Позиция > 0 Then
Результат = Позиция
End If
Позиция = InStr(ТекущаяПозиция, Text1.Text, vbCr)
If Позиция < Результат And Позиция > 0 Then
Результат = Позиция
End If
Позиция = InStr(ТекущаяПозиция, Text1.Text, vbLf)
If Позиция < Результат And Позиция > 0 Then
Результат = Позиция
End If
If Результат = Len(Text1.Text) Then Результат = 0
MyInstr = Результат
End Function
Private Sub Command3_Click()
слова = НайтиСлова(Text1.Text)
Ind = 0
For i = 1 To UBound(слова)
If Len(слова(Ind)) < Len(слова(i)) Then
Ind = i
End If
Next
Label4.Caption = "Слово: " & слова(Ind)
Label5.Caption = "Символов" & Len(слова(Ind))
Label6.Caption = "Позиция " & InStr(1, Text1.Text, слова(Ind))
End Sub
И текст задания:
Валенки, да, валенки, ой
Да неподшиты стареньки
Нельзя валенки носить
Не в чем к миленькой сходить

Валенки, валенки
Эх, неподшиты стареньки
Валенки, валенки
Эх, неподшиты стареньки

Ой, ты Коля, Коля, Николай
Сиди дома, не гуляй
Не ходи на тот конец
Ох, не носи девкам колец
И сами задания:надо самое длинное слово заменить на самое короткое,четные слова поменять с нечетными,заместо четных слов написать четное,заместо слова валенки должно быть слово подшиты.Вот пара заданий кто чем может помогите,пожалуйста, очень благодарен.
...
Рейтинг: 0 / 0
21.12.2010, 06:08
    #37026053
Ципихович Эндрю
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите.пожалуйста
Kasandro, для начала бы код правильно выложили:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
Function НайтиСлова(Текст)
Dim Результат() As String
Dim ТекущаПозиция As Long
Dim НайденноеСлово As String
Dim ДлинаСлова As Integer
ReDim Результат( 0 )
ТекущаяПозиция =  1 
Do While MyInstr(ТекущаяПозиция, Текст) >  0 
ДлинаСлова = MyInstr(ТекущаяПозиция, Текст) - ТекущаяПозиция
слово = Mid(Текст, ТекущаяПозиция, ДлинаСлова)
If ДлинаСлова >  0  Then
Результат(UBound(Результат)) = слово
ReDim Preserve Результат(UBound(Результат) +  1 )
End If
ТекущаяПозиция = ТекущаяПозиция + ДлинаСлова +  1 
Loop
Результат(UBound(Результат)) = Mid(Text1.Text, ТекущаяПозиция)
НайтиСлова = Результат

End Function
Private Sub Command1_Click()
Label2.Caption = "Позиция: " & InStr(Text3.Text, Text1.Text, Text2.Text)
End Sub
Private Sub Command2_Click()
слова = НайтиСлова(Text1.Text)
List1.Clear
For i =  0  To UBound(слова)
List1.AddItem слова(i)
Next
Label3.Caption = "Количество: " & UBound(слова)
End Sub
Function MyInstr(ТекущаяПозиция, Текст)
Результат = Len(Text1.Text)
Позиция = InStr(ТекущаяПозиция, Text1.Text, " ")
If Позиция < Результат And Позиция >  0  Then
Результат = Позиция
End If
Позиция = InStr(ТекущаяПозиция, Text1.Text, ".")
If Позиция < Результат And Позиция >  0  Then
Результат = Позиция
End If
Позиция = InStr(ТекущаяПозиция, Text1.Text, ",")
If Позиция < Результат And Позиция >  0  Then
Результат = Позиция
End If
Позиция = InStr(ТекущаяПозиция, Text1.Text, vbCr)
If Позиция < Результат And Позиция >  0  Then
Результат = Позиция
End If
Позиция = InStr(ТекущаяПозиция, Text1.Text, vbLf)
If Позиция < Результат And Позиция >  0  Then
Результат = Позиция
End If
If Результат = Len(Text1.Text) Then Результат =  0 
MyInstr = Результат
End Function
Private Sub Command3_Click()
слова = НайтиСлова(Text1.Text)
Ind =  0 
For i =  1  To UBound(слова)
If Len(слова(Ind)) < Len(слова(i)) Then
Ind = i
End If
Next
Label4.Caption = "Слово: " & слова(Ind)
Label5.Caption = "Символов" & Len(слова(Ind))
Label6.Caption = "Позиция " & InStr( 1 , Text1.Text, слова(Ind))
End Sub
...
Рейтинг: 0 / 0
21.12.2010, 06:11
    #37026054
Ципихович Эндрю
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите.пожалуйста
потом заимейте всё что нужно
Command1_Click
Label4
и т. д
...
Рейтинг: 0 / 0
21.12.2010, 11:58
    #37026531
Kasandro
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите.пожалуйста
А конкретно по заданию напишите код и куда вставлять,пожалуйста
...
Рейтинг: 0 / 0
21.12.2010, 16:15
    #37027521
Kasandro
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите.пожалуйста
После каждого слова вставить количество символов содержащихся в нём.Помогите,пожалуйста, очень срочно нужна помощь!!!
...
Рейтинг: 0 / 0
21.12.2010, 16:38
    #37027646
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите.пожалуйста
KasandroПосле каждого слова вставить количество символов содержащихся в нём.Помогите,пожалуйста, очень срочно нужна помощь!!!
очень срочно нужны деньги. Меняемся?

ЗЫ: "Помощь" предполагает, что вы что-то делаете сами, а мы помогаем: подсказываем, поправляем, даем ссылки. А пока это выглядит как "сделайте за меня"
...
Рейтинг: 0 / 0
21.12.2010, 16:45
    #37027678
Ципихович Эндрю
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите.пожалуйста
Kasandro, ну что в документе Ворд две кнопки, 6 лейблов есть?
Код всталять в ТизДокумент, ОК??
...
Рейтинг: 0 / 0
21.12.2010, 16:45
    #37027680
Kasandro
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите.пожалуйста
Какие ты корыстный человек...Да я не очень понимаю VB,и прошу сделать мне ведь тут как я понимаю немного кода надо прописать
...
Рейтинг: 0 / 0
21.12.2010, 16:49
    #37027690
Ципихович Эндрю
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите.пожалуйста
Kasandro, код то написан
в документе Ворд две кнопки, 6 лейблов есть?
...
Рейтинг: 0 / 0
21.12.2010, 16:56
    #37027714
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите.пожалуйста
KasandroКакие ты корыстный человек...
Вы стипендию получаете или за учебу платите?
...
Рейтинг: 0 / 0
21.12.2010, 17:55
    #37027888
Kasandro
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите.пожалуйста
Private Sub Command4_Click()
Dim stroka As Variant, k As Integer, char As Variant
Text4.Text = " "
stroka = Text1.Text
k = 0
For I = 1 To Len(stroka)
char = Mid(stroka, I, 1)
If AscW(char) >= AscW("А") Then 'And AscW(char) <= AscW("я")
k = k + 1
End If
Next I
MsgBox "Количество букв : " & k
End Sub
Вот что то написал но считает слова во всем тексте а мне надо в каждом слове(
...
Рейтинг: 0 / 0
21.12.2010, 17:58
    #37027897
Ципихович Эндрю
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите.пожалуйста
Kasandro, приложите полностью Вордовский файл с кнопкой, ОК???
...
Рейтинг: 0 / 0
21.12.2010, 18:05
    #37027910
Kasandro
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите.пожалуйста
Я не в ворде делаю, а в visual basic просто копирую код оттуда.все норм работает только считает все буквы текста,а мне надо каждого слова по отдельности
...
Рейтинг: 0 / 0
21.12.2010, 18:17
    #37027939
Ципихович Эндрю
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите.пожалуйста
Kasandro, соль здесь
For I = 1 To Len(stroka)
char = Mid(stroka, I, 1)

должно быть
For I = 1 To количество слов
...
Рейтинг: 0 / 0
21.12.2010, 18:21
    #37027949
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите.пожалуйста
KasandroВот что то написал но считает слова во всем тексте а мне надо в каждом слове(
Уже лучше. Если сами будете писать, мы будем помогать.

Итак, вы считаете буквы. Нужно добавить условие - как на пробел наткнулись - сбросить счетчик.

Кроме того, вам нужно куда-то выводить результат. Предлагаю завести для этой цели специальную переменную. Раз уж вы решили перебирать по одной буковке - пусть так и будет. По одной буковке выводите в эту переменную, а как встретите пробел - дописываете туда получившееся количество букв в слове и сбрасываете счетчик.
...
Рейтинг: 0 / 0
21.12.2010, 18:22
    #37027953
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите.пожалуйста
Ципихович ЭндрюKasandro, соль здесь
For I = 1 To Len(stroka)
char = Mid(stroka, I, 1)

должно быть
For I = 1 To количество слов

изыди
когда сам сможешь такое написать, тогда и спамь
...
Рейтинг: 0 / 0
23.12.2010, 15:57
    #37031953
yanyariy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите.пожалуйста
Kasandro,

Как человек, плохо разбирающийся в программировании, очень прошу: вместо слов "помогите пожалуйста" пишите "помогите с обработкой строк" или чего там нужно помочь. Так сразу будет видно что нужно. И не буду заглядывать в те топики, где совсем незнакомые темы.
А по теме: смотрите что написал Shocker.Pro, после него и добавить нечего.
...
Рейтинг: 0 / 0
23.12.2010, 16:01
    #37031966
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите.пожалуйста
yanyariyКак человек, плохо разбирающийся в программировании, очень прошу: вместо слов "помогите пожалуйста" пишите "помогите с обработкой строк" или чего там нужно помочь.

Человек либо читает правила форума (в которых это написано), либо игнорирует, в том числе и здравый смысл.
...
Рейтинг: 0 / 0
23.12.2010, 17:15
    #37032161
Ципихович Эндрю
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите.пожалуйста
yanyariyKasandro,

А по теме: смотрите что написал Shocker.Pro, после него и добавить нечего.

Вы об обращении ко мне
>изыди
когда сам сможешь такое написать, тогда и спамь

Есть чего добавить, только не кому
...
Рейтинг: 0 / 0
25.12.2010, 20:35
    #37035467
yanyariy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите.пожалуйста
Ципихович Эндрю,

Ни в коем случае не хотел Вас обидеть.
Не совсем понял, что Вы хотели сказать этими словами: "когда сам сможешь такое написать, тогда и спамь". "Такое" я написать не смогу, это точно. Такую задачку решу без проблем.

"Есть чего добавить, только не кому" - всегда можно навесить крыльцо с узорами, картинку на форму и т. д. Но я думаю, что лучше указывать направление решения, давать инструменты. А форму крыльца пусть строитель (программер) выбирает.
...
Рейтинг: 0 / 0
25.12.2010, 20:50
    #37035476
Ципихович Эндрю
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите.пожалуйста
yanyariy, в сообщении Вы мне пишите
Не совсем понял, что Вы хотели сказать этими словами: "когда сам сможешь такое написать, тогда и спамь".
Но это не я писал!!!!! А мне писали, ладно проехали, сейчас что не понятно по коду???
...
Рейтинг: 0 / 0
27.12.2010, 16:12
    #37037329
yanyariy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите.пожалуйста
Ципихович Эндрю,

Не вы писали? Все, бросаю комп, а то что-то со зрением (150%, вижу то, чего нет )
...
Рейтинг: 0 / 0
27.12.2010, 20:28
    #37037811
timtim
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите.пожалуйста
yanyariyЦипихович Эндрю,

Не вы писали? Все, бросаю комп, а то что-то со зрением (150%, вижу то, чего нет )
yanyariy, зря Вы так к Инвалидам относитесь!
...
Рейтинг: 0 / 0
27.12.2010, 20:58
    #37037848
Ципихович Эндрю
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите.пожалуйста
yanyariy, кто писал?, что писал?, кому писал?, когда писал?, зачем писал?
Я же Вам говорю: ладно проехали, сейчас что не понятно по коду???
...
Рейтинг: 0 / 0
28.12.2010, 20:12
    #37039836
yanyariy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите.пожалуйста
Ципихович Эндрю,

Кажется, сейчас у Вас 150% зрения, я никаких вопросов не задавал, к коду претензий нет.
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Помогите.пожалуйста / 25 сообщений из 25, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]