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

Лэйс на с++ - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Отцентровать слово http://www.cyberforum.ru/cpp-beginners/thread193289.html
Нужно ввести слово и отцентровать его, то есть сделать так, чтобы оно было посередине экрана. Помоги чем-нибудь, пожалуйста....
C++ Определить количество членов последовательности а1, ..., an, имеющих нечетные порядковые номера Определить количество членов последовательности а1, ..., an, имеющих нечетные порядковые номера, при этом будучи кратными 3 и не кратными 5; http://www.cyberforum.ru/cpp-beginners/thread193286.html
C++ работа с файлами последовательного доступа на языке С++
максимальный из отрицательных элементов целочисленного файла. помогите плиз)))))
ошибка в лабе не находит #include<iomanip.h> #include<conio.h> C++
Само задание: Услуги телефонной сети оплачиваются по следующему правилу: за разговоры до A минут в месяц-C руб. а разговоры сверх установленный нормы оплачиваются из расчётов С руб. за минуту. Написать программу,высчитывающую плату за использование телефона для введенного времени разговоров за месяц. Вот код программы: #include<iomanip.h> #include<conio.h> main() { clrscr(); int...
C++ указать путь к файлу http://www.cyberforum.ru/cpp-beginners/thread193267.html
есть папки bin //тут экзешник etc // здесь файл с настройками как указать путь к файлу с настройками? тоесть надо выйти из директории bin и зайти в etc
C++ Найти min число в списке(Динамическая память) Всем привет!! Очень прошу помочь мне с заданием. Спасибо. Написать программу, которая размещает в динамической памяти данные − действительные числа − в виде списка. Список создается путем последовательного добавления новых элементов в конец (или начало) списка (окончание ввода определяется отдельным запросом). Программа должна вывести весь список на экран и, кроме того найти минимальное число,... подробнее

Показать сообщение отдельно
volovzi
266 / 168 / 8
Регистрация: 14.03.2010
Сообщений: 501
18.11.2010, 18:31     Лэйс на с++
Hardcore, идея в том, чтобы запоминать, какая скобка открылась последней, и запрещать закрывать "не свою" скобку (например, фигурную закрывать круглой).
Выглядеть это будет примерно так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
#include <iostream>
#include <string>
#include <stack>
 
bool is_opening_bracket (char symbol) { return symbol == '(' || symbol == '[' || symbol == '{'; }
bool is_closing_bracket (char symbol) { return symbol == ')' || symbol == ']' || symbol == '}'; }
 
bool brackets_are_relative (char opening_bracket, char closing_bracket) {
    return (
        opening_bracket == '(' && closing_bracket == ')' ||
        opening_bracket == '[' && closing_bracket == ']' ||
        opening_bracket == '{' && closing_bracket == '}'
    );
}
 
int main (int argc, char * const argv[]) {
    std::string string;
    std::stack<char> opening_brackets;
    bool ok = true;
    
    std::cin >> string;
    
    for (int i = 0; i < string.size() && ok; ++i) {
        if (is_opening_bracket(string[i])) {
            opening_brackets.push(string[i]);
        } else if (is_closing_bracket(string[i])) {
            if (!opening_brackets.empty() && brackets_are_relative(opening_brackets.top(), string[i])) opening_brackets.pop();
            else ok = false;
        }
    }
    
    if (opening_brackets.empty() && ok) std::cout << "Скобки расставлены верно." << std::endl;
    else std::cout << "Скобки расставлены неверно." << std::endl;
 
    return 0;
}
 
Текущее время: 16:28. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru