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

Задача про скобки - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Деревья http://www.cyberforum.ru/cpp-beginners/thread368474.html
добрый вечер помогите решить задачу Описать процедуру или функцию, которая проверяет, яв¬ляется ли двоичное дерево деревом-формулой. p.s. дерево-формула - это когда во всех вершинах арифметические операции, а в листьях числа нужно на C!!
C++ изучение многопоточности с чего стоит начать изучение многопоточности? есть базовые знания по С++, основы ООП. пытался читать Назарр К., Рихтер Дж. - Windows via C&C++. Программирование на языке Visual C++, но т.к. не знаю WinAPI мало чего понятно. буду очень благодарен совету http://www.cyberforum.ru/cpp-beginners/thread368452.html
число n и целочисленный квадратный массив C++
Вариант 10 II. Даны натуральное число n и целочисленный квадратный массив размера n*n. Найти номера строк, элементы каждой из которых образуют монотонную последо-вательность (монотонно убывающую или монотонно возрастающую). Сформировать из этих строк новый массив. III. Дан строковый массив из n элементов, где n – натуральное число. Найти в этом массиве самую длинную подстроку, не...
C++ Ошибка после ввода любого числа
Здравствуйте!!! У меня возникла проблема! Я скачал и установил бесплатную среду Dev C++, если я в программу добавляю команду scanf("...",a), компилируется всё нормально, но когда запускаю программу и до этой команды доходит очередь, после ввода числа ( именно числа, если ввести символ или строку то вс норм) вылетает окошко "Прекращена работа программы Проект1.exe. Возникшая проблема привела к...
C++ Всем добрым вечер,(кто сможет написать описание и выводы(прога BC.EXE))спс заранее http://www.cyberforum.ru/cpp-beginners/thread368432.html
Всем добрым вечер. Будь добрым, помогите,я честно не профф, Кто может написать описание и выводы... Но всё равно спс большое и заранее. у меня такая прога по учёбе(DOSBox0.74-win32-installer.exe или BC.EXE) #include “iostream.h” #include<conio.h> int main(void) {
C++ книгa "Программирование: принципы и практика использования C++, исправленное издание, Бьярне Страуструп; а в этой книги "Программирование: принципы и практика использования C++, исправленное издание, Бьярне Страуструп;" описанно про циклы. ПРОСТО я ее скачал что то не нашел раздел про циклы. Можете подсказать подробнее

Показать сообщение отдельно
Mr.X
Эксперт С++
 Аватар для Mr.X
2804 / 1580 / 247
Регистрация: 03.05.2010
Сообщений: 3,675
18.10.2011, 21:56     Задача про скобки
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
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
/////////////////////////////////////////////////////////////////////////////////////////
//Построить все слова длины n > 0 в алфавите скобок "(" и ")", представляющие 
//правильные скобочные записи.
//... намекнув на рекурсию.
/////////////////////////////////////////////////////////////////////////////////////////
#include <algorithm>
#include <iostream>
#include <iterator>
#include <set>
#include <string>
/////////////////////////////////////////////////////////////////////////////////////////
typedef std::string      T_str;
typedef std::set<T_str>  T_brackets_expressions;
/////////////////////////////////////////////////////////////////////////////////////////
void  make_brackets_expressions
    (
        int                         len,         
        T_brackets_expressions&     brackets_expressions,
        const T_str&                s = ""
    )
{
    if(s.size() == len)
    {
        brackets_expressions.insert(s);
    }
    else
    {
        make_brackets_expressions
            (
                len,                
                brackets_expressions,
                T_str("()") + s
            );
 
        make_brackets_expressions
            (
                len,                
                brackets_expressions,
                s + "()"
            );
 
        make_brackets_expressions
            (
                len,                
                brackets_expressions,
                T_str("(") + s + ")"
            );
    }
}
/////////////////////////////////////////////////////////////////////////////////////////
int main()
{
    std::locale::global(std::locale(""));
    int  len = 0;
    do
    {
        std::cout << "Введите четную длину выражения из круглых скобок: ";
        std::cin >> len;        
        if(len <= 0) exit(1);
    }while(len % 2);  
        
    T_brackets_expressions  brackets_expressions;
    make_brackets_expressions
        (
            len,                         
            brackets_expressions
        );
 
    std::copy
        (
            brackets_expressions.begin(),
            brackets_expressions.end(),
            std::ostream_iterator<T_brackets_expressions::value_type>(std::cout, "\n")
        );
}
 
Текущее время: 14:28. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru