Удалить повторяющиеся символы - Visual Basic .NET

Узнай цену своей работы

Формулировка задачи:

Вывести текстовую строку без повторяющихся символов. Подскажите пожалуйста, в чем ошибка? Выдает, что sym = a.Substring(i, 1) выходит за допустимый диапазон
Листинг программы
  1. Public Class Form1
  2. 'Функция ввода исходных данных из TextBox
  3. Function vvod(ByVal T As TextBox) As String
  4. Return T.Text
  5. End Function
  6. 'Процедура вывода результата в TextBox
  7. Sub vivod(ByVal z As String, ByRef t As TextBox)
  8. If z.Length <> 0 Then
  9. t.Text = z
  10. Else
  11. t.Text = "Все символы повторяются, поэтому здесь пусто."
  12. End If
  13. End Sub
  14. 'Процедура решения задачи удаления символов из строки
  15. Sub Обработка(ByRef a As String)
  16. Dim m, i, j, kol As Short
  17. Dim sym As Char
  18. m = CShort(a.Length) 'длина строки a
  19. i = 0
  20. While i <= m
  21. sym = a.Substring(i, 1)
  22. j = i + 1
  23. If j = m Then Exit While
  24. kol = 0
  25. Do While j < m 'перебор всех символов строки a
  26. If a.Substring(j, 1) = sym Then kol = kol + 1
  27. j = j + 1
  28. Loop
  29. If kol > 0 Then
  30. a = Replace(a, sym, "")
  31. TextBox3.Text += sym + Space(2)
  32. m = m - kol - 1
  33. Else
  34. i = i + 1
  35. End If
  36. End While
  37. End Sub
  38. Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
  39. Dim a As String
  40. a = vvod(TextBox2)
  41. Обработка(a)
  42. vivod(a, TextBox4)
  43. End Sub
  44. Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
  45. TextBox2.Focus()
  46. End Sub
  47. Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
  48. Dim a As String
  49. a = "abbbcdcffehhh"
  50. TextBox2.Text = a
  51. Обработка(a)
  52. vivod(a, TextBox4)
  53. End Sub
  54. End Class

Решение задачи: «Удалить повторяющиеся символы»

textual
Листинг программы
  1. Dim a As String = "abbbcdcffehhh"
  2. Dim ch As String = String.Join("", a.Distinct())
  3. MsgBox(ch) ' out: abcdfeh

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

13   голосов , оценка 4 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут