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

на основе стеков..... на С++ - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Нахождение значение по числу http://www.cyberforum.ru/cpp-beginners/thread371330.html
Здравствуйте, как можно сделать так, чтобы какое то значение можно было найти по числу? Например: green=1, yellow=2, blue=3 И чтобы когда я вводил например 3, он мне писал blue.
C++ нужна ваша помощь.... (програма на основе стеков, очередей) Проверить в выражении баланс дужек «(« и «)». http://www.cyberforum.ru/cpp-beginners/thread371316.html
C++ Быстрая сортировка
void quickSortR(int *first,int *last) { // На входе - массив a, a - его последний элемент. int *i = first, *j = last; // поставить указатели на исходные места int m; ...
Вопрос по обертке для строк C++
Есть класс: class String { protected: char* content; } Как сделать так, чтобы при передаче объекта этого класса например в функцию printf печаталось содержимое content? Может надо...
C++ Создание своего архива и работа с ним http://www.cyberforum.ru/cpp-beginners/thread371303.html
Здравствуйте форумчане! Вопрос таков: можно ли создать свой архив, наподобе какого-нибудь *.pak, чтобы работать с ним могла только моя программа? Просто нужно, чтобы ресурсы программы (картинки, ini...
C++ Ругается на If #include<iostream> using std::cin; using std::cout; using std::endl; int main() { cout<<"Введите число:\n"; int age; cin>>age; If (age == 7) подробнее

Показать сообщение отдельно
Kastaneda
Форумчанин
Эксперт С++
4653 / 2862 / 228
Регистрация: 12.12.2009
Сообщений: 7,271
Записей в блоге: 2
Завершенные тесты: 1
24.10.2011, 07:00
Цитата Сообщение от Mayonez Посмотреть сообщение
стек здесь просто для того, что так сказано в условии. Это НЕВЕРНОЕ использование стека
По-моему как раз само то) Я бы так сделал:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include<iostream>
#include<stack>
 
int main(){
    std::stack<char> brackets;
    std::string str;
    std::getline(std::cin, str);
    for(int i=0; i<str.length(); i++){
        if(str[i] == '(')
            brackets.push(str[i]);
        else if(!brackets.empty())
            brackets.pop();
        else {
            std::cout<<"Unbalance in "<<i+1<<" brackets"<<std::endl;
            return 0;
        }
    }
    std::cout<<(brackets.empty() ? "Balance OK!" : "Balance not OK, unnecessary left brackets")<<std::endl;
    return 0;
}
без проверки на "левые" символы.
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru