Вопрос: работа со строками? | Добавлено: 22.05.06 16:31 |
Автор вопроса: КУДЕСНИК |
Задана последовательность символов, состоящая из отдельных слов, разделенных пробелами. Удалить из этой последовательности слова с нечетными порядковыми номерами, расположив каждое из оставшихся слов на отдельной строке. В строке, следующей за последним из слов, указать их количество таких слов.
помогите пожалуйста |
Ответы | Всего ответов: 5 |
Номер ответа: 1 Автор ответа: Страшный Сон Вопросов: 46 Ответов: 848 |
Профиль | | #1 | Добавлено: 22.05.06 16:46 |
Здесь нужно заюзать функции Split и Join. |
Номер ответа: 2 Автор ответа: BUG(O)R ICQ: 827887 Вопросов: 13 Ответов: 142 |
Web-сайт: Профиль | | #2 | Добавлено: 23.05.06 11:44 |
Dim arr Dim arr2() As String Private Sub Form_Load() dStr = "1 2 3 4 5 6 7 8 9 0" arr = Split(dStr, " " ReDim arr2(UBound(arr) / 2) j = 0 For i = 1 To UBound(arr) Step 2 arr2(j) = arr(i) j = j + 1 Next i MsgBox Join(arr2, vbCrLf) & vbCrLf & UBound(arr2) End Sub Знаю знаю, код некрасивый, но коли других вариантов никто не предложил я накидал этот |
Номер ответа: 3 Автор ответа: HOOLIGAN Вопросов: 0 Ответов: 1066 |
Профиль | | #3 | Добавлено: 23.05.06 16:47 |
ReDim arr2(UBound(arr) / 2)
если в исходном массиве нечетное количество слов, в выходном массиве будет вставляться лишняя пустая строка |
Номер ответа: 4 Автор ответа: КУДЕСНИК Вопросов: 10 Ответов: 13 |
Профиль | | #4 | Добавлено: 23.05.06 18:06 |
как сделать так чтобы лишнии пробелы не влияли на выводимое значение кол-ва слов?
я знаю trim но незнаю как его туда вписать чтобы все поехоло |
Номер ответа: 5 Автор ответа: HOOLIGAN Вопросов: 0 Ответов: 1066 |
Профиль | | #5 | Добавлено: 23.05.06 18:20 |
trim обрежет пробелы в начале и в конце строки.
Если несколько пробелов подряд стоит в середине строки, trim не поможет, нужно будет заменять двойной пробел на одиночный. Это можно сделать при помощи Replace. Примерно так: Do While InStr(mystring, " "
mystring = Replace(mystring, " ", " " Loop а после этого (или перед этим) можно trim, чтобы почистить с начала и с конца строки: mystring = Trim$(mystring) |
|