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

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

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

В заданном тексте удалить часть текста заключенную в круглые скобки - C++

17.01.2014, 15:45. Просмотров 1273. Ответов 15
Метки нет (Все метки)

В заданном тексте удалить часть текста заключенную в круглые скобки ( скобки не удалять).
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.01.2014, 15:45     В заданном тексте удалить часть текста заключенную в круглые скобки
Посмотрите здесь:

В тексте удалить символы, заключенные в круглые скобки, вместе со скобками - C++
//--------------------------------------------------------------------------- #include <iostream.h> #include <math.h> #include...

Каждую цифру заменить на заключенную в круглые скобки последовательность знаков ‘+’ - C++
Многострочный текст, введенный с клавиатуры, преобразовать следующим образом: каждая цифра заменяется на заключенную в круглые скобки...

Каждую цифру заменить на заключенную в круглые скобки последовательность знаков - C++
Многострочный текст, введенный с клавиатуры, преобразовать следующим образом: каждая цифра заменяется на заключенную в круглые скобки...

Удалить из заданного текста все части, заключенные в круглые скобки - C++
Написать программу удаляющую из заданного текста все части, заключенные в круглые скобки, вместе со скобками.

Определить правильной ли последовательности расставлены круглые скобки в тексте - C++
Здравствуйте! Моя задача звучит следующим образом: "Дан текстовый файл, содержащий программу на С++. Проверить эту программу на...

Разработать алгоритм и программу для удаления в заданном тексте части текста, взятого в скобки (вместе со скобками) - C++
Разработать алгоритм и программу для удаления в заданном тексте части текста, взятого в скобки (вместе со скобками).Помогите плиз для...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
egor2116
339 / 370 / 42
Регистрация: 20.01.2013
Сообщений: 1,123
17.01.2014, 16:23     В заданном тексте удалить часть текста заключенную в круглые скобки #2
Посмотрите тут Удалить часть строки
DiffEreD
1429 / 766 / 95
Регистрация: 21.06.2011
Сообщений: 1,740
Записей в блоге: 2
17.01.2014, 16:23     В заданном тексте удалить часть текста заключенную в круглые скобки #3
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <iostream>
#include <string>
#include <boost/algorithm/string/regex.hpp>
 
int main()
{
   std::string s = "Some text (some other text) and ( else some text )";
   const boost::regex reg("(?<=\\()(.*?)(?=\\))");
   boost::erase_all_regex(s, reg);
   std::cout << s << "\n";
 
   return 0;
}
MicM
821 / 488 / 90
Регистрация: 29.12.2009
Сообщений: 1,097
Завершенные тесты: 1
17.01.2014, 16:38     В заданном тексте удалить часть текста заключенную в круглые скобки #4
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
#include <iostream>
#include <cstring>
using std::cout;
using std::cin;
 
int main()
{
    const int maxLength = 128;
    char str[maxLength];
    cout <<"String: ";
    cin.getline (str,maxLength);
    char *c = str,*p = str;
    bool flag = true;
    while (*p)
    {
        if (*p == ')')
            flag = true;
        if (flag)
        {
            *c = *p;
            c++;
        }
        if (*p == '(')
            flag = false;
        p++;
    }
    *c = '\0';
    cout <<str <<'\n';
    return 0;
}
zarko97
274 / 34 / 0
Регистрация: 11.10.2015
Сообщений: 308
16.06.2017, 02:05     В заданном тексте удалить часть текста заключенную в круглые скобки #5
C++
1
2
3
4
5
6
7
8
9
void delete_brackets(std::string && s)
{
    std::string::iterator first = s.begin(), last;
    while ((first = std::find(first, s.end(), '(')) != s.end() && (last = std::find(first, s.end(), ')')) != s.end()) {
        while (std::count(first, last + 1, '(') != std::count(first, last + 1, ')')) ++last;
        s.erase(first, ++last);
        last = first;
    }
}
Добавлено через 19 минут
Еще вариант:
C++
1
2
3
4
5
6
7
8
9
10
void delete_brackets(std::string && s)
{
    int brackets = 0;
    s.erase(std::remove_if(s.begin(), s.end(), [&brackets](char ch) 
    {
        if (ch == '(')                 ++brackets;
        if (ch == ')' && brackets > 0) --brackets;
        return brackets > 0 || ch == ')';
    }), s.end());
}
Captain Maxee
16.06.2017, 04:48
  #6

Не по теме:

zarko97, Вы некрофил?

gray_fox
What a waste!
1443 / 1172 / 61
Регистрация: 21.04.2012
Сообщений: 2,451
Завершенные тесты: 3
16.06.2017, 11:13     В заданном тексте удалить часть текста заключенную в круглые скобки #7
Цитата Сообщение от zarko97 Посмотреть сообщение
C++
1
2
3
4
5
6
std::remove_if(s.begin(), s.end(), [&brackets](char ch)
{
    if (ch == '(')                 ++brackets;
    if (ch == ')' && brackets > 0) --brackets;
    return brackets > 0 || ch == ')';
})
Не думаю, что стоит полагаться на прямой порядок обхода элементов.
zarko97
274 / 34 / 0
Регистрация: 11.10.2015
Сообщений: 308
16.06.2017, 12:00     В заданном тексте удалить часть текста заключенную в круглые скобки #8
gray_fox, а чем он плох?

Добавлено через 43 секунды
Captain Maxee, у вас ко мне личная неприязнь?

Добавлено через 9 минут
gray_fox, код я тщательно потестил...и все случаи обрабатываются корректно
gray_fox
What a waste!
1443 / 1172 / 61
Регистрация: 21.04.2012
Сообщений: 2,451
Завершенные тесты: 3
16.06.2017, 12:06     В заданном тексте удалить часть текста заключенную в круглые скобки #9
Цитата Сообщение от zarko97 Посмотреть сообщение
gray_fox, а чем он плох?
А разве где то указано, что есть определённый порядок вызова предиката? У вас на это логика завязана.

Добавлено через 15 секунд
Цитата Сообщение от zarko97 Посмотреть сообщение
gray_fox, а чем он плох?
А разве где то указано, что есть определённый порядок вызова предиката? У вас на это логика завязана.
повар1
66 / 45 / 18
Регистрация: 24.02.2017
Сообщений: 178
Завершенные тесты: 1
16.06.2017, 12:13     В заданном тексте удалить часть текста заключенную в круглые скобки #10
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream.h>
 
int main()
{
 char str[]="Given the sentence  (you need to determine)  the longest wo ",*p;
  char world[128];
  
  cout<<str<<"\n";
  strcpy(world,str);
 
  p=strtok(str,"(");
  strcat(str,"()");
  strcat(str,strrev(strtok(strrev(world),")")));
  cout<<str;
 
  system(" pause >0");
 
    return 0;
}
zarko97
274 / 34 / 0
Регистрация: 11.10.2015
Сообщений: 308
16.06.2017, 12:16     В заданном тексте удалить часть текста заключенную в круглые скобки #11
gray_fox, мб свой вариант сорса приведете? а то я не оч понимаю в чем мой предикат неверен...

Добавлено через 37 секунд
повар1, вложенные скобки не отработает
повар1
66 / 45 / 18
Регистрация: 24.02.2017
Сообщений: 178
Завершенные тесты: 1
16.06.2017, 12:22     В заданном тексте удалить часть текста заключенную в круглые скобки #12
zarko97, в задании написано: "( скобки не удалять)". И где ты видел в строке вывода что скобок нет на своем месте?
gray_fox
What a waste!
1443 / 1172 / 61
Регистрация: 21.04.2012
Сообщений: 2,451
Завершенные тесты: 3
16.06.2017, 12:27     В заданном тексте удалить часть текста заключенную в круглые скобки #13
Цитата Сообщение от zarko97 Посмотреть сообщение
я не оч понимаю в чем мой предикат неверен...
Вы полагаетесь на то, что предикат будет вызван в прямом порядке ( p(s[0]), p(s[1]), ..., p(s[n -1]) ). Но нет гарантий, что порядок будет именно таким (по крайней мере я о таких не в курсе). Будет другим, и ваш код работать не будет.
gray_fox
What a waste!
1443 / 1172 / 61
Регистрация: 21.04.2012
Сообщений: 2,451
Завершенные тесты: 3
16.06.2017, 12:35     В заданном тексте удалить часть текста заключенную в круглые скобки #14
Например вот что пишут в C++ Coding Standards: 101 Rules, Guidelines, and Best Practices:
87. Make predicates pure functions.

[...]

Stateful predicates may seem useful, but they are explicitly
not very useful with the C++ standard library and its algorithms,
and that is intentional. In particular, stateful
predicates can only be useful if:

• The predicate is not copied:
The standard algorithms make no such guarantee, and
in fact assume that predicates are safely copyable.

The predicate is applied in a documented deterministic order:
The standard algo
rithms generally make no guarantee about the order in which the predicate will
be applied to the elements in the range. In the absence of guarantees about the
order in which objects will be visited, operations like "flag the third element"
(see Examples) make little sense, because which element will be visited "third"
is not well-defined.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.06.2017, 12:35     В заданном тексте удалить часть текста заключенную в круглые скобки
Еще ссылки по теме:

Удалить часть символьной строки, заключонной в скобки - C++
2) Удалить часть символьной строки, заключонной в скобки (вместе со скобками).

Удалить часть символьной строки, заключенной в скобки - C++
Удалить часть символьной строки, заключенной в скобки (вместе со скоб¬ками). (использовать iostream.h)

Удалить часть символьной строки, заключенной в скобки - C++
Помогите пожалуйста решить задачу Вот условие:Удалить часть символьной строки, заключенной в скобки (вместе со скобками).

Удалить часть символьной строки, заключенной в скобки (вместе со скобками). - C++
Удалить часть символьной строки, заключенной в скобки (вместе со скобками).

Удалить часть символьный строки заключенной в скобки(вместе со скобками) . Нужно через вхождение в строку - C++
это не катит #include &quot;stdafx.h&quot; #include &lt;iostream&gt; #include&lt;string.h&gt; using namespace std; int main() { cout&lt;&lt;&quot;vvedite...

Удалить часть символьной строки, заключенной в скобки (вместе со скобками). Нужно через вхождение в строку - C++
с++ это не катит #include &quot;stdafx.h&quot; #include &lt;iostream&gt; #include&lt;string.h&gt; using namespace std; int main() { ...


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

Или воспользуйтесь поиском по форуму:
zarko97
274 / 34 / 0
Регистрация: 11.10.2015
Сообщений: 308
16.06.2017, 12:35     В заданном тексте удалить часть текста заключенную в круглые скобки #15
gray_fox, ну а как все строку просмотреть? только так...
Yandex
Объявления
16.06.2017, 12:35     В заданном тексте удалить часть текста заключенную в круглые скобки
Ответ Создать тему
Опции темы

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