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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
KaMaKaDzA
0 / 0 / 0
Регистрация: 23.07.2013
Сообщений: 50
#1

Строки: удалить все символы, которые размещены между скобками - C++

03.07.2014, 14:42. Просмотров 509. Ответов 4
Метки нет (Все метки)

Помогите пожалуйста. Без понятия как это сделать.

Удалить из заданной последовательности все символы которые размещены между скобками ("(...)"). Сами скобки так же должны быть удалены. Внутри каждой пары скобок других скобок нету.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.07.2014, 14:42     Строки: удалить все символы, которые размещены между скобками
Посмотрите здесь:

Распечатать введенную строку, исключив из нее те символы, которые находятся между скобками C++
удалить из заданной строки все группы символов, расположенные между скобками, включая сами скобки C++
C++ Исключить из строки символов те, которые распологаются между круглыми скобками
C++ Удалить в строке символов все символы в скобках вместе с самими скобками
C++ Определить длину строки,удалить из строки все символы, которые равны заданному
исключить все символы между круглыми скобками, включая сами скобки C++
C++ Из заданной строки исключить символы равосположенные между скобками [ ]
Задана строка, символы которой могут повторяться. Нужно удалить все символы строки с помощью наименьшего количества вычеркиваний C++
C++ Работа со строками. Удалить символы между скобками ()
C++ 1. Вывести введенную строку, исключив из нее те символы, которые находятся между скобками ( ) и сами скобки
C++ Удалить из строки символы, которые повторяются
C++ Удалить из строки последовательности символов, расположенные между скобками

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ilot
Модератор
Эксперт С++
1785 / 1160 / 225
Регистрация: 16.05.2013
Сообщений: 3,056
Записей в блоге: 5
Завершенные тесты: 1
03.07.2014, 15:39     Строки: удалить все символы, которые размещены между скобками #2
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
#include <iostream>
#include <string>
#include <algorithm>
class compare {
    int flag;
public:
    compare(): flag(0)
    {}
    bool operator()(const char& value) {
        if(value == '(')
            return ++flag;
        if(value == ')')
            return flag--;
        return flag;
    }
};
int main(){
    std::string str;
    std::cout << "Input string: " ;
    getline(std::cin, str);
    std::string::iterator it = std::remove_copy_if(str.begin(), str.end(), str.begin(), compare());
    std::cout << str.substr(0, distance(str.begin(), it)) << std::endl;
    return 0;
}
KaMaKaDzA
0 / 0 / 0
Регистрация: 23.07.2013
Сообщений: 50
03.07.2014, 16:58  [ТС]     Строки: удалить все символы, которые размещены между скобками #3
ругается на distance(str.begin(), it). Не знает откуда его брать.
Ilot
Модератор
Эксперт С++
1785 / 1160 / 225
Регистрация: 16.05.2013
Сообщений: 3,056
Записей в блоге: 5
Завершенные тесты: 1
03.07.2014, 17:10     Строки: удалить все символы, которые размещены между скобками #4
Добавьте заголовочник <iterator>
KaMaKaDzA
0 / 0 / 0
Регистрация: 23.07.2013
Сообщений: 50
03.07.2014, 19:49  [ТС]     Строки: удалить все символы, которые размещены между скобками #5
не помогло.

Добавлено через 1 час 32 минуты
Всё. Теперь работает. надо было добавить std::
Yandex
Объявления
03.07.2014, 19:49     Строки: удалить все символы, которые размещены между скобками
Ответ Создать тему
Опции темы

Текущее время: 10:04. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru