Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 04.04.2012, 15:17   #11
sidestep
Пользователь
 
Регистрация: 14.09.2011
Сообщений: 93
По умолчанию

Ты этот код сам написал?
sidestep вне форума Ответить с цитированием
Старый 04.04.2012, 15:19   #12
sidestep
Пользователь
 
Регистрация: 14.09.2011
Сообщений: 93
По умолчанию

нашел ошибку)
sidestep вне форума Ответить с цитированием
Старый 04.04.2012, 15:19   #13
LiuLiuJons
Форумчанин
 
Регистрация: 28.12.2011
Сообщений: 124
По умолчанию

Цитата:
Сообщение от sidestep Посмотреть сообщение
Представь у меня тоже теперь так)
Я нашла! Ахаха -
Код:
if (S.size == 0);
- точка с запятой в конце, вот твоя ошибка )))
"Думай не о задаче, а о решении" (с)
LiuLiuJons вне форума Ответить с цитированием
Старый 04.04.2012, 15:20   #14
sidestep
Пользователь
 
Регистрация: 14.09.2011
Сообщений: 93
По умолчанию

да да, спасибо! =)
sidestep вне форума Ответить с цитированием
Старый 04.04.2012, 15:36   #15
pproger
C++ hater
СтарожилДжуниор
 
Аватар для pproger
 
Регистрация: 19.07.2009
Сообщений: 3,333
По умолчанию

Код:
#include <iostream>
#include <algorithm>
#include <stack>
#include <set>
#include <string>

struct IsBracket : public std::binary_function<std::pair<char, char>, char, bool> {
	bool operator()(const std::pair<char, char> &p, char c) const
	{ return p.first == c || p.second == c; }
};

bool isBracketsCorrect(const std::string &str, const std::set<std::pair<char, char> > &brackets)
{
	std::stack<char> stack;
	std::set<std::pair<char, char> >::const_iterator bracketIter;

	for (std::string::const_iterator It = str.begin(); It != str.end(); ++It) {
		if ((bracketIter = find_if(brackets.begin(), brackets.end(), std::bind2nd(IsBracket(), *It))) != brackets.end()) {
			if (bracketIter->first == *It) {
				stack.push(*It);
			} else {
				if (stack.empty() || stack.top() != bracketIter->first)
					return false;
				stack.pop();
			}
		}
	}

	return stack.empty();
}

int main()
{
	std::string str = "(hello [wo<rld>] bla[blalb]a)";

	std::set<std::pair<char, char> > brackets;
	brackets.insert(std::make_pair('(', ')'));
	brackets.insert(std::make_pair('[', ']'));
	brackets.insert(std::make_pair('{', '}'));
	brackets.insert(std::make_pair('<', '>'));

	std::cout << (isBracketsCorrect(str, brackets) ? "correct" : "incorrect") << std::endl;
}
I invented the term Object-Oriented, and I can tell you I did not have C++ in mind. (c)Alan Kay

My other car is cdr.

Q: Whats the object-oriented way to become wealthy?
A: Inheritance

Последний раз редактировалось pproger; 04.04.2012 в 15:39.
pproger вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Программа на Паскаль, которая определяет, попадает ли точка с заданными координатами в закрашенную область Chulpan Паскаль, Turbo Pascal, PascalABC.NET 2 28.03.2012 12:59
С++ прогамма которая определяет высокосный или нет год vireles Помощь студентам 3 15.03.2012 21:00
программа, которая с точностью определяет значения функции y=ln(1-x),а модуль х<1, АлександрFRONT Паскаль, Turbo Pascal, PascalABC.NET 2 10.12.2008 01:37
разработать функцию, которая определяет сумму цифр целого числа IceAgainstIce Общие вопросы Delphi 5 20.11.2008 00:52
Паскаль.программа, которая определяет каким является введенное число... Integer Помощь студентам 4 18.11.2007 22:17