Определить, можно ли из символов заданной строки составить вашу фамилию - VB (61938)

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

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

Есть две строки : "a" - куча рандомных букв, "b"- фамилия Я брал один первый символ своей фамилии (строка "b" ) и искал её первое вхождение в строку

"a"

. Если есть такое вхождение , удалял этот символ из строки

"a"

( Для того чтобы обойти повторные символы )

и добавлял к счетчику n=n+1 (n - получается количество наших совпадений) . В конце , если количесво совпадений

"n"

равняется количеству букв нашей фамилии, то можно составить. Вот код мой :
Листинг программы
  1. 'Процедура сравнения символов двух строк
  2. Sub Vychis(ByVal a As String, ByVal b As String)
  3. Dim t As String
  4. Dim i, n, j As Integer
  5. n = 0
  6. 'Счетчик, определяющий количество сопадений символов
  7. For i = 1 To Len(b)
  8. t = Mid(b, i, 1)
  9. If InStr(a, t) <> 0 Then n = n + 1 : a = a.Remove(j, 1)
  10. Next i
  11. If n = Len(b) Then TextBox3.Text = "Можно" Else TextBox3.Text = "Нельзя"
  12. MsgBox(n, MsgBoxStyle.Information, "Количество совпадений")
  13. End Sub
На первый взгляд все работало отлично, пока я не поменял буквы местами В итоге я нашел ошибку, что функция " a = a.Remove(j, 1) " не удаляет наше совпадение, а удаляет что-то другое. Так вот собственно нужна помощь: Что прописать нужно вместо

"j"

, чтобы она удалила именно совпадение ?

Решение задачи: «Определить, можно ли из символов заданной строки составить вашу фамилию»

textual
Листинг программы
  1.         For i = 1 To Len(b)
  2.  
  3.             t = Mid(b, i, 1)
  4. 'IF INSTR(a, t) <> 0 THEN n = n + 1 : a = a.Remove(j, 1)
  5.            If InStr(a, t) <> 0 Then n = n + 1: Mid(a, InStr(a, t), 1) = " "
  6.  
  7.         Next i

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


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

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

15   голосов , оценка 4.267 из 5

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

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

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