Последовательные числа в VB 2008

#visual-studio-2008

#visual-studio-2008

Вопрос:

Я хочу написать код в VB 2008 для последовательных чисел, если они не являются последовательными, запишите их последовательно.

Например: Если у меня есть список целых чисел = 1, 2, 3, 4, 10, 11, 15

Я хочу, чтобы такой язык был передан

с 1 по 4, 10, 11 и 15

Пожалуйста, помогите мне!

Спасибо

Комментарии:

1. Нет, это не домашнее задание .. мне нужно сделать на моей работе .. нужно создать документ Word с таким языком

Ответ №1:

По сути, вам нужно перебрать их и применить набор правил для вывода в зависимости от предыдущего значения. Также из вашего примера вывода вам нужно будет проверить, достигли ли вы конца массива.
Вот довольно подробный способ сделать это (vb.net это не тот язык, который я обычно использую, поэтому, пожалуйста, простите любые ошибки):

 Public Shared Function TestMethod() As String
        Dim _integers() As Integer = {1, 2, 3, 4, 10, 11, 15}
        Dim _temp As Integer = _integers(0)
        Dim _result As String = _temp.ToString()
        For i As Integer = 1 To _integers.Length - 1
            If (i   1) = _integers.Length Then
                _result  = " and "   _integers(i).ToString()
            ElseIf (_integers(i) - _temp) = 1 Then
                _result  = ", "   _integers(i).ToString()
            Else
                _result  = " through "   _integers(i).ToString()
            End If
            _temp = _integers(i)
        Next
        Return _result
End Function
 

Комментарии:

1. Спасибо, ваше решение работает для примера, который я перечислил, но если я увеличу длину целого числа, я получу неверный вывод.