Удалить повторяющиеся символы - Visual Basic .NET
Формулировка задачи:
Вывести текстовую строку без повторяющихся символов.
Подскажите пожалуйста, в чем ошибка? Выдает, что sym = a.Substring(i, 1) выходит за допустимый диапазон
Листинг программы
- Public Class Form1
- 'Функция ввода исходных данных из TextBox
- Function vvod(ByVal T As TextBox) As String
- Return T.Text
- End Function
- 'Процедура вывода результата в TextBox
- Sub vivod(ByVal z As String, ByRef t As TextBox)
- If z.Length <> 0 Then
- t.Text = z
- Else
- t.Text = "Все символы повторяются, поэтому здесь пусто."
- End If
- End Sub
- 'Процедура решения задачи удаления символов из строки
- Sub Обработка(ByRef a As String)
- Dim m, i, j, kol As Short
- Dim sym As Char
- m = CShort(a.Length) 'длина строки a
- i = 0
- While i <= m
- sym = a.Substring(i, 1)
- j = i + 1
- If j = m Then Exit While
- kol = 0
- Do While j < m 'перебор всех символов строки a
- If a.Substring(j, 1) = sym Then kol = kol + 1
- j = j + 1
- Loop
- If kol > 0 Then
- a = Replace(a, sym, "")
- TextBox3.Text += sym + Space(2)
- m = m - kol - 1
- Else
- i = i + 1
- End If
- End While
- End Sub
- Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
- Dim a As String
- a = vvod(TextBox2)
- Обработка(a)
- vivod(a, TextBox4)
- End Sub
- Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
- TextBox2.Focus()
- End Sub
- Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
- Dim a As String
- a = "abbbcdcffehhh"
- TextBox2.Text = a
- Обработка(a)
- vivod(a, TextBox4)
- End Sub
- End Class
Решение задачи: «Удалить повторяющиеся символы»
textual
Листинг программы
- Dim a As String = "abbbcdcffehhh"
- Dim ch As String = String.Join("", a.Distinct())
- MsgBox(ch) ' out: abcdfeh
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д