Paréntesis Ejercicio C# - Curso de Programación C# (C Sharp)

 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 de Ejemplo

// Importing necessary namespace for handling collections
using System;  // Basic namespace for console input/output and fundamental operations
using System.Collections.Generic;  // For using the Stack class

class Program
{
    // Function to check if a sequence of parentheses is balanced
    static bool IsBalanced(string parentheses)
    {
        // Create a stack to hold the open parentheses
        Stack stack = new Stack();  // Stack will help to track unmatched open parentheses

        // Iterate through each character in the input string
        foreach (char ch in parentheses)  // For each character in the string
        {
            // If the character is an opening parenthesis, push it onto the stack
            if (ch == '(')  // If the character is an open parenthesis
            {
                stack.Push(ch);  // Add the open parenthesis to the stack
            }
            // If the character is a closing parenthesis, check if there's a matching open parenthesis
            else if (ch == ')')  // If the character is a closing parenthesis
            {
                // If the stack is empty, it means no matching open parenthesis, return false
                if (stack.Count == 0)  // If there are no open parentheses to match with
                {
                    return false;  // It means the parentheses are not balanced
                }
                stack.Pop();  // Remove the top item from the stack (matching the open parenthesis)
            }
        }

        // If the stack is empty, all open parentheses had matching closing parentheses
        return stack.Count == 0;  // If the stack is empty, the parentheses are balanced
    }

    // Main program method to test the IsBalanced function
    static void Main(string[] args)
    {
        // Test the IsBalanced function with valid and invalid examples
        string test1 = "(()()(()))";  // A valid sequence of parentheses
        string test2 = "(((()";  // An invalid sequence of parentheses

        // Display the results of the balance check
        Console.WriteLine($"Is the sequence '{test1}' balanced? {IsBalanced(test1)}");  // Expecting true
        Console.WriteLine($"Is the sequence '{test2}' balanced? {IsBalanced(test2)}");  // Expecting false
    }
}

Más ejercicios C# Sharp de Gestión Dinámica de Memoria

 Implementación de una cola usando una matriz
Implementación de una cola...
 Implementar una pila usando una matriz
Implementar una pila...
 Colecciones de colas
Cree una cola de cadenas, utilizando la clase Queue que ya existe en la plataforma DotNet. Una vez creado, muestra todos los elementos almacenados ...
 Notación Polish inversa de pila de cola
Cree un programa que lea desde un archivo de texto una expresión en notación polaca inversa como, por ejemplo: 3 4 6 5 - + * 6 + (Resultado 21) ...
 ArrayList
Cree una lista de cadenas utilizando la clase ArrayList que ya existe en la plataforma DotNet. Una vez creado, muestra todos los elementos almacena...
 ArrayList duplicar un archivo de texto
Cree un programa que lea desde un archivo de texto y lo almacene en otro archivo de texto invirtiendo las líneas. Por lo tanto, un archivo de texto...
 Suma ilimitada
Cree un programa para permitir que el usuario ingrese una cantidad ilimitada de números. Además, pueden ingresar los siguientes comandos: "suma", par...
 ArrayList - Lector de archivos de texto
Entregue aquí su lector básico de archivos de texto. Este lector de archivos de texto siempre muestra 21 líneas del archivo de texto, y el usuario ...
 Hast Table - Diccionario
Entregue aquí su diccionario usando Hash Table...
 Mezclar y ordenar archivos
Cree un programa para leer el contenido de dos archivos diferentes y mostrarlo mezclado y ordenado alfabéticamente. Por ejemplo, si los archivos conti...
 ArrayList de puntos
Cree una estructura "Point3D", para representar un punto en el espacio 3-D, con coordenadas X, Y y Z. Cree un programa con un menú, en el que el us...
 Buscar en archivo
Cree un programa para leer un archivo de texto y pida al usuario oraciones para buscar en él. Leerá todo el archivo, lo almacenará en un ArrayList,...

Juan A. Ripoll - Tutoriales y Cursos de Programacion© 2025 Todos los derechos reservados.  Condiciones legales.