Страница: 1 |
Страница: 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
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-сайт:
Профиль | | #10
Добавлено: 13.02.06 19:42
Давненько школьников не было
1. Отрезаем длинну первого и второго если конечно они изместны, помещаем в перемененные и
выводим переменные в любом порядке как нужно
2. Что то типо того