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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ класс Chess http://www.cyberforum.ru/cpp-beginners/thread654394.html
помогите пожалуйста разработать класс Chess. попробывал не получилось нужно его разработать под #include "ConsoleDrawHelper.h" ConsoleDrawHelper::ConsoleDrawHelper() : CellXSize(12),...
C++ setiosflags(ios::left) Почему setiosflags(ios::right) выравнивает числа по правой стороне а setiosflags(ios::left) не выравнивает по левой? for (int n=1; n<=10; n++) { int cube = n * n * n; cout... http://www.cyberforum.ru/cpp-beginners/thread654386.html
Шаблоны template с ограниченными параметрами C++
Привет всем. У меня короткий вопрос. например есть такой код: template <class T> class MyVec { std::vector<T> m_vec; }; Возможно ли сделать так чтобы MyVec работал только с определенными...
Как лучше проинцилизировать указатели в 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 в конце программы.. Помогите пожалуйста. Цель, посмотреть расстановку нулей и единиц по битам, в программе открываю...
C++ конструктор enum Color {Null, WHITE, BLACK}; enum Type {Null, King, Peshka}; class Piece { public: Color color; Type type; Piece(Color color_, Type type_) : подробнее

Показать сообщение отдельно
co6ak
Кошковед
409 / 502 / 29
Регистрация: 12.04.2010
Сообщений: 1,392
19.09.2012, 15:07
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
#include <iostream>
#include <cstdlib>
#include <ctime>
#include <cmath>
void checkAndDelete( const char*, int );
 
int main() {
        srand( time ( NULL ) );
    string fill = {'[', ']', '(', ')', '}', '{', '<', '>'};
    
    const char* buffer = new const char* [256];
    
    for ( int i = 0; i < 256; i ++ )
        buffer[i] = fill[std::rand() % fill.length()];
    
    std::cout << buffer << std::endl;
    
    checkAndDelete(buffer, 0);
    
    return 0;
}
 
 
void checkAndDelete ( const char* buffer, int index )
{
    if ( index < 256 ) {
        if ( abs(int(buffer[index]) - int(buffer[index+1])) == 1  ) {
            buffer[index] = '';
            buffer[index+1] = '';
                        std::cout << buffer << std::endl;
            }
        checkAndDelete (buffer, index++);  
    }
}
компилятора плюсового нет под рукой. может, кто из местных гуру подправит, если что не так

Добавлено через 1 минуту
можно совсем извратиться, и сдвигать по индексу удаленные эл-ты. тогда итераций будет больше
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru