Записать буквы в коллекцию и сортировать по алфавиту - VB
Формулировка задачи:
Создать коллекцию данных, в неё занести буквы е, с, d, b, f, a - в этом порядке, а в коллекции расположить их по алфвиту. Вывести коллекцию в окне Immediate.
Результат:
10
15
20
30
35
25
10
да, результат неверный получается, но если я задаю параметры вывода для других чисел, то появляется сообщение об ошибке. И к тому же для первых чисел нельзя задать параметры вывода, т.к. коллекция ещё пуста? Каким образом можно решить эту проблему?Я пока думаю только так - сначала занести все числа в коллекцию, а потом для каждого задать параметра вывода.
Листинг программы
- Option Explicit
- Sub Ch()
- Dim Ch As New Collection
- Call Ch.Add("30", "Тридцать")
- Call Ch.Add("35", "Тридцать пять")
- Call Ch.Add("25", "Двадцать пять")
- Call Ch.Add("20", "Двадцать", "Тридцать")
- Call Ch.Add("10", "Десять")
- Call Ch.Add("15", "Пятнадцать", 1)
- Debug.Print Ch.Item(6)
- Dim N As Integer
- For N = 1 To Ch.Count
- Debug.Print Ch.Item(N)
- Next N
- Set Ch = Nothing
- End Sub
Решение задачи: «Записать буквы в коллекцию и сортировать по алфавиту»
textual
Листинг программы
- Sub bb()
- Const BUK$ = "e c d b f a"
- Dim s, i&, j&
- With New Collection
- 'заполнение коллекции
- For Each s In Split(BUK)
- .Add s
- Next
- 'сортировка пузырьком
- For j = 1 To .Count - 1
- For i = 1 To .Count - j
- If .Item(i) > .Item(i + 1) Then
- s = .Item(i)
- .Remove i
- .Add s, After:=i
- End If
- Next i, j
- 'вывод результата
- For i = 1 To .Count
- Debug.Print i, .Item(i)
- Next
- End With
- End Sub
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д