Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 |

 

  Вопрос: помогите, пожалуйста решить школьную программу в P Добавлено: 30.01.06 20:22  

Автор вопроса:  Krista | ICQ: 259-943-182  
1. Пользователем введены два слова через пробел. Надо поменять их местами.

2. Найдите самое длинное слово в предложении, введённом пользователем.

Ответить

  Ответы Всего ответов: 10  

Номер ответа: 1
Автор ответа:
 Wolfrt



ICQ: 225421504 

Вопросов: 8
Ответов: 60
 Профиль | | #1 Добавлено: 30.01.06 20:50

Dim text, t1, t2 As String
        Dim d, i, bul As Double
        text = TextBox1.Text
        d = Len(text)
        bul = 0
        For i = 1 To d
            If Mid(text, i, 1) = " " Then bul = 1 : i = i + 1
            If bul = 0 Then t1 = t1 + Mid(text, i, 1)
            If bul = 1 Then t2 = t2 + Mid(text, i, 1)
        Next i
        text = t2 + " " + t1
        If Len(t1) > Len(t2) Then TextBox2.Text = t1 Else TextBox2.Text = t2
        TextBox1.Text = text

за коментариями в асю стучи!

Ответить

Номер ответа: 2
Автор ответа:
 HACKER


 

Разработчик Offline Client

Вопросов: 236
Ответов: 8362
 Профиль | | #2 Добавлено: 31.01.06 00:01
Поменять 2 слова местами:

Private Sub Command1_Click()
TextBox1 = Split(TextBox1, " ";)(1) & " " & Split(TextBox1, " ";)(0)
End Sub

за коментариями в асю НЕ стучи! :))))))))

Ответить

Номер ответа: 3
Автор ответа:
 astoro



ICQ: 649109 

Вопросов: 31
Ответов: 391
 Профиль | | #3 Добавлено: 31.01.06 01:21


Dim txt As String
Dim maximum As Long, incr As Long, start As Long
Dim splt
txt = "твое  предложение из   нескольких слов;  очень сложное,  запутанное  предложение; даже интересно ;-) как справится программа с такой почти невыполнимой задачей?"
txt = Replace(txt, ".", "";)
txt = Replace(txt, ",", "";)
txt = Replace(txt, "!", "";)
txt = Replace(txt, "?", "";)
txt = Replace(txt, ":", "";)
txt = Replace(txt, ";", "";)
txt = Replace(txt, ".", "";)
txt = Replace(txt, "-", "";)
txt = Replace(txt, ";(", "";)
txt = Replace(txt, ";)", "";)
txt = Replace(txt, Chr(34), "";)
Do While InStr(txt, "  ";) > 0
    txt = Replace(txt, "  ", " ";)
Loop
maximum = 0
splt = Split(txt, " ";)
For i = 0 To UBound(splt) - 1
    If maximum < Len(splt(i)) Then start = incr: maximum = Len(splt(i))
    incr = incr + Len(splt(i)) + 1
Next i
MsgBox Mid(txt, start + 1, maximum) & vbCrLf & "start:" & start & vbCrLf & "len:" & maximum

Ответить

Номер ответа: 4
Автор ответа:
 HACKER


 

Разработчик Offline Client

Вопросов: 236
Ответов: 8362
 Профиль | | #4 Добавлено: 31.01.06 02:02
так, ну это понты уже, ведь задание в 2 слова было... :))) гггг щютка :)

Ответить

Номер ответа: 5
Автор ответа:
 HACKER


 

Разработчик Offline Client

Вопросов: 236
Ответов: 8362
 Профиль | | #5 Добавлено: 31.01.06 02:05
а тьфу, я второе задание не заметил :) я просто чуть чуть переписал код Wolfrt'a :) кто ж знал что ещё второе задание есть? :)))) ок щас подумаем как во втором покороче..

Ответить

Номер ответа: 6
Автор ответа:
 HACKER


 

Разработчик Offline Client

Вопросов: 236
Ответов: 8362
 Профиль | | #6 Добавлено: 31.01.06 02:23
Private Sub Command1_Click()
Dim i%, ind%
Const Symbols As String = "!@#$%^&*()_+-=\|/,.<>`~№;?"
For i% = 1 To Len(Text1): Text1 = Replace(Trim(Text1), Mid(Symbols, i%, 1), "";): Next
Dim tmpArray() As String: tmpArray = Split(Text1, " ";)
For i% = 0 To UBound(tmpArray)
    If Len(Trim(tmpArray(i%))) > maxlen Then maxlen = Len(tmpArray(i%)): ind = i%
Next i%
MsgBox "Самое длинное слово - " & Chr$(34) & tmpArray(ind) & Chr$(34)
End Sub


мда, особо скоротить как в первом случае неполучилось, фактически одни и теже яйца, только фильтрирующий Replace от знаков оптимизировать удалось :) Может кто-то ещё короче попробует?

Ответить

Номер ответа: 7
Автор ответа:
 SerJ



Вопросов: 24
Ответов: 332
 Профиль | | #7 Добавлено: 31.01.06 05:07
за коментариями в асю НЕ стучи! :))))))))

стучи мне, так уж и быть...

Ответить

Номер ответа: 8
Автор ответа:
 Wolfrt



ICQ: 225421504 

Вопросов: 8
Ответов: 60
 Профиль | | #8 Добавлено: 31.01.06 09:20
При написании учитывалось то, что ей надо на Паскале. Поэтому максимум упрощал
Блин второе задание не заметил!

Ответить

Номер ответа: 9
Автор ответа:
 Wolfrt



ICQ: 225421504 

Вопросов: 8
Ответов: 60
 Профиль | | #9 Добавлено: 31.01.06 09:20
При написании учитывалось то, что ей надо на Паскале. Поэтому максимум упрощал
Блин второе задание не заметил!

Ответить

Номер ответа: 10
Автор ответа:
 [root]



Вопросов: 45
Ответов: 1212
 Web-сайт: bit.pirit.info
 Профиль | | #10
Добавлено: 13.02.06 19:42
Давненько школьников не было ;-)

1. Отрезаем длинну первого и второго если конечно они изместны, помещаем в перемененные и
выводим переменные в любом порядке как нужно

2. Что то типо того

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам