Проверка баланса скобок
Содержимое статьи:
Алгоритм
- Проверить, заключена ли строка в
'/':
- Если нет, вывести сообщение и завершить программу.
- Создать стек символов.
- Итерировать символы строки, пропуская символ
/:
- Если символ является открывающей скобкой
(' или{'`, положить его в стек. - Если символ является закрывающей скобкой
)'или}', проверить, совпадает ли верхний элемент стека с открывающей скобкой. Если да, удалить элемент из стека. В противном случае завершить программу.
- Если символ является открывающей скобкой
- Если итерация закончилась успешно, а стек пуст, строка является сбалансированной. В противном случае строка не сбалансирована.
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-сервис с оплатой СБП
Начни общение в русском рулетке-чате!
Надеюсь, эти заголовки будут полезны!
Непромокаемые детские куртки и брюки
Ошибки при установке плагинов и как их исправить
Погода в Москве: Каждый день подробно
Приключения в рулетке видеочате
Процесс регистрации залога в Реестре залогов
Промокоды для максимальной экономии.
Русский Чат Рулетка
Все о регистрации и сопровождении бизнеса в Москве
Юридический журнал: Правовые инновации и современные вызовы



Белорусы в теме - первая белорусская криптовалюта Талер на биржах и майнинге
Криптовалюта карбованец что за монета KRB как манить и где купить
Как создать кошелёк DOGE для хранения данной криптовалюты
Адреса NS - сервера для чего они нужны