Проверка последовательности скобок на правильность - VB

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

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

дана последовательность скобок. Проверить является ли она правильной. Например: ([{}])() -правильное выражение, а (){}{) неправильное.Задачу с одинаковыми скобками решил без стека, а тут мне каж нужно с помощью стека. ну вобщем дня два путал себе мозги, не смог решить

Решение задачи: «Проверка последовательности скобок на правильность»

textual
Листинг программы
Function Skobki(s$) As Boolean
Dim i&, c$
With New Collection
  .Add "dummy"
  For i = 1 To Len(s)
    c = Mid$(s, i, 1)
    Select Case c
    Case "(", "[", "{"
      .Add c, Before:=1
    Case ")"
      If .Item(1) = "(" Then .Remove 1 Else GoTo 1
    Case "}"
      If .Item(1) = "{" Then .Remove 1 Else GoTo 1
    Case "]"
      If .Item(1) = "[" Then .Remove 1 Else GoTo 1
    End Select
  Next
  Skobki = .Count = 1
1 Exit Function
End With
End Function

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

13   голосов , оценка 4.077 из 5
Похожие ответы