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

Если в строке левая и правая скобки идут рядом, удалить их из строки - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ класс Chess http://www.cyberforum.ru/cpp-beginners/thread654394.html
помогите пожалуйста разработать класс Chess. попробывал не получилось нужно его разработать под #include "ConsoleDrawHelper.h" ConsoleDrawHelper::ConsoleDrawHelper() : CellXSize(12), CellYSize(8), VerticalStandoff(0), HorizontalStandoff(0) { this->hOut = ::GetStdHandle(STD_OUTPUT_HANDLE); const COORD WindowSize = {150, 80}; // width and hight of the window
C++ setiosflags(ios::left) Почему setiosflags(ios::right) выравнивает числа по правой стороне а setiosflags(ios::left) не выравнивает по левой? for (int n=1; n<=10; n++) { int cube = n * n * n; cout << setw(2) << setiosflags(ios::right) << n; cout << setw(6) << setiosflags(ios::left) << cube << endl; // Не выравниваются цифры по левой стороне } http://www.cyberforum.ru/cpp-beginners/thread654386.html
Шаблоны template с ограниченными параметрами C++
Привет всем. У меня короткий вопрос. например есть такой код: template <class T> class MyVec { std::vector<T> m_vec; }; Возможно ли сделать так чтобы MyVec работал только с определенными классами. То есть, параметр шаблона T мог принимать только определенные мною значения (например MyClass1, int и всё, другие нельзя).
Как лучше проинцилизировать указатели в NULL? C++
board.h #ifndef BOARD_H_ #define BOARD_H_ #include "Piece.h" #include <iostream> class Board { public: Piece* p;
C++ Вывести в двоичном виде нули и единицы 01010110001 http://www.cyberforum.ru/cpp-beginners/thread654343.html
Не понимаю почему не выводится буфер в двоичном виде, да и флаг tellg() равен -1 в конце программы.. Помогите пожалуйста. Цель, посмотреть расстановку нулей и единиц по битам, в программе открываю бинарный файл, читаю 1 байт, и хочу увидеть чему равны значения битов. #include<iostream> #include<fstream> using namespace std; int main() { ifstream file;
C++ конструктор enum Color {Null, WHITE, BLACK}; enum Type {Null, King, Peshka}; class Piece { public: Color color; Type type; Piece(Color color_, Type type_) : подробнее

Показать сообщение отдельно
Mr.X
Эксперт С++
3048 / 1693 / 265
Регистрация: 03.05.2010
Сообщений: 3,867
20.09.2012, 20:37     Если в строке левая и правая скобки идут рядом, удалить их из строки
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
76
77
78
/////////////////////////////////////////////////////////////////////////////////////////
#include <algorithm>
#include <ctime>
#include <cstdlib>
#include <iostream>
#include <string>
/////////////////////////////////////////////////////////////////////////////////////////
typedef std::string     T_str;
/////////////////////////////////////////////////////////////////////////////////////////
const T_str     ROUND_BRACKETS    =   "()";
const T_str     SQUARE_BRACKETS   =   "[]";
const T_str     FRENCH_BRACKETS   =   "{}";
/////////////////////////////////////////////////////////////////////////////////////////
struct  T_brackets_generator
{
    const T_str&    brackets_str_;
    //-----------------------------------------------------------------------------------
    T_brackets_generator(const T_str&  brackets_str)
        :
        brackets_str_( brackets_str )
    {}
    //-----------------------------------------------------------------------------------
    char    operator() ()
    {
        return  brackets_str_
                    [
                        rand() % brackets_str_.size()
                    ];
    }
};
/////////////////////////////////////////////////////////////////////////////////////////
void  remove_adjacend_brackets(T_str&  s)
{    
    T_str::size_type    pos     =   0;
    
    while   (
                    !s.empty()
                &&  (
                                ( pos     =   s.find( ROUND_BRACKETS    ) )     !=  T_str::npos
                        ||      ( pos     =   s.find( SQUARE_BRACKETS   ) )     !=  T_str::npos
                        ||      ( pos     =   s.find( FRENCH_BRACKETS   ) )     !=  T_str::npos
                    )
            )
    {
        s.erase( pos, 2);
    }
}
/////////////////////////////////////////////////////////////////////////////////////////
int main()
{
    srand(unsigned(time(0)));
    const int       STRING_SIZE     =   256;
 
    T_str   s   ( 
                    STRING_SIZE,
                    '\0'
                );
 
    std::generate
        (
            s.begin                 (),
            s.end                   (),
            T_brackets_generator    (
                                            ROUND_BRACKETS
                                        +   SQUARE_BRACKETS
                                        +   FRENCH_BRACKETS
                                    )
        );
 
    std::cout   <<  s
                <<  std::endl;
 
    remove_adjacend_brackets(s);
 
    std::cout   <<  std::endl
                <<  s
                <<  std::endl;
}
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru