Visual Basic, .NET, ASP, VBScript
 

   
   
     

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

#3366CC>1 | 1>1 |

 

  Вопрос: работа со строками? Добавлено: 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-сайт: hunger.ru
 Профиль | | #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)

Ответить

#3366CC>1 | 1>1 |

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



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