Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 24.03.2013, 22:56   #21
Ingez
Пользователь
 
Регистрация: 23.03.2013
Сообщений: 24
По умолчанию

Цитата:
Сообщение от gaw4 Посмотреть сообщение
s = s & " " вот это вы понимаете, если да, то вставьте
насколько я понимаю это предложение+ "нуль-символ " ?
вставил на третьей строке не помогло.
Ingez вне форума Ответить с цитированием
Старый 24.03.2013, 23:18   #22
gaw4
Форумчанин
 
Регистрация: 31.05.2010
Сообщений: 407
По умолчанию

я уже затрудняюсь, чесно говоря,
скажу так : добавить к строке в качестве последнего символа символ - пробел

потом, если вы так напористо хотите свой код типа, то
что такое (это из вашего последнего)
1)s = Val(InputBox("Введите текст"))
2)Str(mw)

(для тнстирования кода удобно пользоваться стоп-точкой)
удачи
icq 584 308 611
gaw4 вне форума Ответить с цитированием
Старый 24.03.2013, 23:22   #23
Ingez
Пользователь
 
Регистрация: 23.03.2013
Сообщений: 24
По умолчанию

Цитата:
Сообщение от gaw4 Посмотреть сообщение
такое впечатление что последний мой пост вы постоянно не читаете
что не понятно в
Код:
Private Sub CommandButton1_Click()
s = InputBox("Text", , "Напечатать самое длинное слово из текста")
s = Trim(s) & " " 'удаляем лидирующие (до и после если есть) пробелы
                  'и потом добавляем один пробел как индикатор завершения слова
                  ' когда слово последнее (если тут не понятно то вместо этого записать s = s & " "

Max = 0: w = ""
For i = 1 To Len(s) 'по длине строки
  If Mid(s, i, 1) <> " " Then 'до следующего пробела
     w = w & Mid(s, i, 1) 'формируем слово прибавляя к нему
             'подстроку строки s начиная с позиции i  длиной 1 --- текущий не пробел
  Else         'иначе если пробел (слово закончилось)
     If Max < Len(w) Then 'если длина макс слова меньше только что сформированного
        Max = Len(w) 'то длину последнего прнимаем за макс
        mw = w  'и запомним слово как макс длины
     End If
     w = ""
  End If
Next i
                                                                                    
MsgBox s & vbNewLine & "самое длинное слово  = " & mw & " =" _
       & vbNewLine & "Dl:  " & Max
End Sub
Можно без таких заголовков
Код:
Private Sub CommandButton1_Click()
s = InputBox("Text", , "Напечатать самое длинное слово из текста")
и выводов
Код:
MsgBox s & vbNewLine & "самое длинное слово  = " & mw & " =" _
       & vbNewLine & "Dl:  " & Max
? и без
Код:
s = Trim(s) & " "
?просто
Код:
Sub slovo()
s = Val(InputBox("Введите текст"))
и
Код:
MsgBox "Самое длинное слово: " & Str(mw)
Ingez вне форума Ответить с цитированием
Старый 25.03.2013, 00:01   #24
Sasha_Smirnov
Особый статус
Участник клуба
 
Аватар для Sasha_Smirnov
 
Регистрация: 24.11.2008
Сообщений: 1,535
По умолчанию

Ingez, заголовок-то поменять можно, но логику — вряд ли.

Код:
s = Val(InputBox("Введите текст"))
Val берёт первое число из строки, не мудрствуйте понапрасну: вам чётко всё выдали!
Sasha_Smirnov вне форума Ответить с цитированием
Старый 25.03.2013, 00:12   #25
Ingez
Пользователь
 
Регистрация: 23.03.2013
Сообщений: 24
По умолчанию

Цитата:
Сообщение от Sasha_Smirnov Посмотреть сообщение

Код:
s = Val(InputBox("Введите текст"))
Val берёт первое число из строки, не мудрствуйте понапрасну: вам чётко всё выдали!
Мне и не нужно логику изменять!
А можно вывод осуществить по другому?
И Trim() убрать?
Ingez вне форума Ответить с цитированием
Старый 25.03.2013, 00:25   #26
Sasha_Smirnov
Особый статус
Участник клуба
 
Аватар для Sasha_Smirnov
 
Регистрация: 24.11.2008
Сообщений: 1,535
По умолчанию

А кто ж вам запрещает! Уберите и Trim, да и Str заодно. Сделайте вывод по-своему.

Str здесь и правда не нужно, а вот Trim обрезает внешние пробелы — на отсутствие которых опирается дальнейшая обработка введённой строки.
Sasha_Smirnov вне форума Ответить с цитированием
Старый 25.03.2013, 00:31   #27
Ingez
Пользователь
 
Регистрация: 23.03.2013
Сообщений: 24
По умолчанию

Цитата:
Сообщение от Sasha_Smirnov Посмотреть сообщение
А кто ж вам запрещает! Уберите и Trim, да и Str заодно. Сделайте вывод по-своему.

Str здесь и правда не нужно, а вот Trim обрезает внешние пробелы — на отсутствие которых опирается дальнейшая обработка введённой строки.
Sasha_Smirnov, не поможете доделать код?

Код:
Sub slovo()
s = Val(InputBox("Введите текст"))
s = s & " "

Max = 0: w = ""
For i = 1 To Len(s)
If Mid(s, i, 1) <> " " Then

w = w & Mid(s, i, 1)
ElseIf i = Len(s) Then Exit For
If Max < Len(w) Then
Max = Len(w)
mw = w
End If
k = 0
End If
Next i
MsgBox "Самое длинное слово: " & Str(mw)
End Sub
Ingez вне форума Ответить с цитированием
Старый 25.03.2013, 00:43   #28
Sasha_Smirnov
Особый статус
Участник клуба
 
Аватар для Sasha_Smirnov
 
Регистрация: 24.11.2008
Сообщений: 1,535
По умолчанию

А толку? Меня бездумно цитируете: сказано же — Trim лучше оставить, Val убрать.

Ради чего такие капризы? Испытывайте его (код) и так, и сяк... Проявите смекалку, наконец.
Sasha_Smirnov вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Совместимость Excel 2007 VBA - Excel 2010 VBA Genas Microsoft Office Excel 2 28.11.2012 15:33
VBA Word,VBA Excel решить 2 задачи fafolo4ka Фриланс 6 05.03.2012 01:15
VBA michael D. Помощь студентам 1 01.03.2012 13:02
VBA kolochkov Microsoft Office Excel 13 09.04.2011 21:11