Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 16, средняя оценка - 4.69
farrodey
0 / 0 / 0
Регистрация: 23.01.2014
Сообщений: 35
#1

Правильная скобочная последовательность - C++

11.04.2014, 19:40. Просмотров 2403. Ответов 5
Метки нет (Все метки)

Привет, не могу понять как писать стеки и очереди,а лабу надо срочно сдать.
Проверить, является ли данная строка, состоящая только из символов «(», «)», «[» и «]», правильной скобочной последовательностью, если она таковой не является, то сообщить обо всех ошибках. Правильная скобочная последовательность – это такая последовательность скобок, в которой для каждой открывающей скобки имеется соответствующая парная, и все пары скобок правильно вложены друг в друга.

Заранее большое спасибо тем, кто откликнулся
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.04.2014, 19:40     Правильная скобочная последовательность
Посмотрите здесь:

Правильная скобочная последовательность - C++
Напомним, что называется правильной скобочной последовательностью: пустая строка является правильной скобочной последовательностью; ...

Правильная скобочная последовательность - C++
Рассмотрим последовательность, состоящую из круглых, квадратных и фигурных скобок. Программа должна определить, является ли данная...

Проверка записи на соответствие условию: правильная скобочная запись из круглых и квадратных скобок - C++
Здравствуйте! Задача: проверка записи на соответствие условию: правильная скобочная запись из круглых и квадратных скобок, внутри...

Скобочная последовательность - C++
Нужно ввести имя файла из консоли, в котором будет находиться какая-то скобочная последовательность. И затем в консоле выводит правильная...

Правильная инициализация ? - C++
Здравствуйте уважаемые программисты! Мне необходимо описать два класса, один ArrayOfInt - якобы одномерный массив, и SqArrayOfInt - уже...

Правильная ли программа? - C++
Не уверена в правильности соответствия задания и кода. Обычно ведь очередь через структуру делается. Задание следующее: Создать класс -...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
TenGen
Будущее рядом
97 / 95 / 20
Регистрация: 06.03.2014
Сообщений: 342
11.04.2014, 19:46     Правильная скобочная последовательность #2
farrodey, я конечно могу ошибаться, но предположу, что вам нужен символьный массив (который будет представлять стек) и каждую открывающую скобку записывать в стек, а при каждой закрывающей удалять из стека 1 скобку (причем следить, что бы закрывающая скобка и записанная в стеке скобка были одинаковыми)
farrodey
0 / 0 / 0
Регистрация: 23.01.2014
Сообщений: 35
11.04.2014, 19:51  [ТС]     Правильная скобочная последовательность #3
TenGen, Спасибо,буду сейчас сидеть мучить её))
kiborgdelto
70 / 72 / 27
Регистрация: 23.03.2011
Сообщений: 141
11.04.2014, 20:14     Правильная скобочная последовательность #4
такой вопрос через стек или очередь обезательно?
если нет то это делается элементарно, используется переменная которая считает количество открытых скобок, и цикл который проходит по каждой скобке, если скобка открывающая то увеличиваем переменную на 1, если закрывающая уменьшаем если переменная стала меньше 0 на любом элементе то значит ошибка в последовательности, закрывающая скобка стоит раньше открывающейся, если по окончанию цикла переменная больше 0 то значит не все открывающие скобки закрыты

насчёт стека, для большей скорости работы в случае пустого стека проверять какая скобка идёт дальше, если закрывающая то значит она ни чего не закрывает и получаем ошибку в последовательности (не будет работать если в последовательности ошибка но в стеке лежит скобка другого вида, для избавления от такой ошибки нужно считать количество скобок каждого вида в стеке и проверять данное условие если скобок данного типа нет в стеке)
TenGen
Будущее рядом
97 / 95 / 20
Регистрация: 06.03.2014
Сообщений: 342
11.04.2014, 20:25     Правильная скобочная последовательность #5
kiborgdelto, а там разве не важно помнить последовательность скобок? А то может быть типа ([(]))
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.04.2014, 20:37     Правильная скобочная последовательность
Еще ссылки по теме:

Правильная компиляция - C++
#indlude <iostream> #include <conio.h> using namespace std; int main() { int Fedya = 40; cout << "Force indicator"...

Правильная дата - C++
Даны три натуральных чисел, B, C, которые представляют день, месяц и год некоторые даты. Выход "да", если указанной даты является...

Правильная очистка памяти - C++
Пытаюсь разобратся с работой с памятью в с++. Есть класс BigInteger содержащий в себе массив чисел int *arr. В конструкторе этот массив...

Правильная линковка библиотек - C++
Долго искал в интернете, ничего толкового не нашёл, решил спросить тут. После создания приложения компилятор прицепляет файл статически,...

Не правильная структура и где? - C++
#include <iostream> using namespace std; struct time { int hrs,mins,secs; }; int main() { time time2={22}; ...

Не правильная обработка массивов - C++
Возникла проблема: При работе функции read_struct не обрабатываются gets(x.name); и gets(x.date_of_birth); с чем это связано? Есть вот...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
kiborgdelto
70 / 72 / 27
Регистрация: 23.03.2011
Сообщений: 141
11.04.2014, 20:37     Правильная скобочная последовательность #6
скобки же различны, естественно что сначало должно быть сравнение вида скобки и если они одного и тогоже вида, пример решения данной задачи без стека я описывал для 1 вида скобок если их 2 то просто будет 2 счётчика

а про стек я описал выше
Yandex
Объявления
11.04.2014, 20:37     Правильная скобочная последовательность
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru