Ejercicio
Paréntesis
Objetivo
Implementar una función para comprobar si una secuencia de paréntesis abierto y cerrado está equilibrada, es decir, si cada paréntesis abierto corresponde a uno cerrado y además están bien anidados.
Por ejemplo:
(()()(())) OK
(((() ERROR
Código
Imports System
Imports System.Collections
Namespace Expression
Class Program
Private Shared Sub Main(ByVal args As String())
Dim expresion As String = "()()()()()()"
Dim expresionMal As Boolean = False
Dim pila As Stack = New Stack()
For i As Integer = 0 To expresion.Length - 1
If expresion(i) = "("c Then
pila.Push(expresion(i))
ElseIf expresion(i) = ")"c Then
If pila.Count > 0 Then
pila.Pop()
Else
expresionMal = True
End If
End If
Next
If expresionMal Then
Console.WriteLine("ERROR")
Else
Console.WriteLine("OK")
End If
Console.ReadLine()
End Sub
End Class
End Namespace