Проверка баланса скобок Проверка баланса скобок
Дата публикации: 11.05.2025

Проверка баланса скобок

875d4234

Содержимое статьи:

Алгоритм

  1. Проверить, заключена ли строка в '/':
    • Если нет, вывести сообщение и завершить программу.
  2. Создать стек символов.
  3. Итерировать символы строки, пропуская символ /:
    • Если символ является открывающей скобкой (' или{'`, положить его в стек.
    • Если символ является закрывающей скобкой )' или }', проверить, совпадает ли верхний элемент стека с открывающей скобкой. Если да, удалить элемент из стека. В противном случае завершить программу.
  4. Если итерация закончилась успешно, а стек пуст, строка является сбалансированной. В противном случае строка не сбалансирована.

    C++ программа

    #include <iostream>
    #include <stack>
    using namespace std;
    bool isBalanced(string s) {
    // Проверка включения в '/'
    if (s[0] != '/' || s[s.length() - 1] != '/') {
    cout << "Строка не заключена в '/'" << endl;
    return false;
    }
    // Создание стека
    stack<char> brackets;
    // Итерация символов строки
    for (int i = 1; i < s.length() - 1; i++) {
    char c = s[i];
    // Проверка символа
    if (c == '(' || c == '{') {
    brackets.push(c);
    } else if (c == ')' || c == '}') {
    if (brackets.empty()) {
    cout << "Несбалансированная строка" << endl;
    return false;
    }
    char top = brackets.top();
    brackets.pop();
    if ((c == ')' && top != '(') || (c == '}' && top != '{')) {
    cout << "Несбалансированная строка" << endl;
    return false;
    }
    }
    }
    // Проверка остатка стека
    if (brackets.empty()) {
    cout << "Сбалансированная строка" << endl;
    return true;
    } else {
    cout << "Несбалансированная строка" << endl;
    return false;
    }
    }
    int main() {
    string s;
    cout << "Введите строку: ";
    getline(cin, s);
    isBalanced(s);
    return 0;
    }


Chatroulette
Городские акции и скидки Екатеринбург
Как использовать плагин WP Mail SMTP для отправки почты
Как исправить проблемы с формами и плагином Contact Form 7 SEO
Как исправить проблемы с индексацией сайта с плагином WP SEO
Как исправить проблемы с контентом и SEO с плагином SEO Content Advisor
Как избежать трещин на стопах
Как настроить плагин WP SEO Sitemap для генерации сайтмапы
Как установить плагин All in One SEO Pack в WordPress
Кухня в Екатеринбурге — стиль и комфорт
Лайфхак: как сделать плагины WordPress невидимыми в админ-панели
Лайфхаки по использованию плагина SEO Ultimate для SEO
Лайфхаки по оптимизации сайта с помощью плагина WP SEO
"Лучшие приложения для управления финансами на мобильном устройстве"
Лучший VDS-сервис с оплатой СБП
Начни общение в русском рулетке-чате!
Надеюсь, эти заголовки будут полезны!
Непромокаемые детские куртки и брюки
Ошибки при установке плагинов и как их исправить
Погода в Москве: Каждый день подробно
Приключения в рулетке видеочате
Процесс регистрации залога в Реестре залогов
Промокоды для максимальной экономии.
Русский Чат Рулетка
Все о регистрации и сопровождении бизнеса в Москве
Юридический журнал: Правовые инновации и современные вызовы
Наши ссылки
Создание сайта: полное руководство для начинающих