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

Исключить из строки слова, расположенные между скобками ( , ) - C++

Восстановить пароль Регистрация
 
Raper58
0 / 0 / 0
Регистрация: 02.11.2012
Сообщений: 31
08.01.2013, 22:45     Исключить из строки слова, расположенные между скобками ( , ) #1
Люди, очень нужна помощь! Напишите, пожалуйста, на С++ программу, которая из введенной с клавиатуры строки исключает все слова, заключенные в (), при этом сами "(" ")" тоже должны быть исключены. Очень прошу.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.01.2013, 22:45     Исключить из строки слова, расположенные между скобками ( , )
Посмотрите здесь:

исключить те символы, которые находятся между скобками '(' ') C++
удалить из заданной строки все группы символов, расположенные между скобками, включая сами скобки C++
C++ Исключить из строки слова, расположенные между скобками ( , ). Сами скобки должны быть исключены.
исключить все символы между круглыми скобками, включая сами скобки C++
C++ Из заданной строки исключить символы равосположенные между скобками [ ]
Строки: удалить все символы, которые размещены между скобками C++
C++ Кусок строки находящийся между скобками
C++ Вывести кусок строки между скобками

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
gray_fox
What a waste!
 Аватар для gray_fox
1244 / 1127 / 53
Регистрация: 21.04.2012
Сообщений: 2,350
Завершенные тесты: 3
08.01.2013, 23:52     Исключить из строки слова, расположенные между скобками ( , ) #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
25
26
27
28
29
#include <iostream>
#include <string>
 
 
std::string parenthesed_text_removed(std::string text) {
  for (std::string::size_type count = 0, pos = text.find('('); pos != std::string::npos; pos = text.find('(', pos)) {
      for (std::string::size_type i = pos + 1; i != text.length(); ++i) {
         if (text[i] == '(') {
            ++count;
         } else if (text[i] == ')') {
            if (count != 0) {
               --count;
            } else {
               text.erase(pos, i - pos + 1);
               break;
            }
         }
      }
   }
      
   return text;
}
 
 
int main() {
   std::string text;
   std::getline(std::cin, text);
   std::cout << parenthesed_text_removed(text) << std::endl;
}
http://liveworkspace.org/code/3hMGkw
Yandex
Объявления
08.01.2013, 23:52     Исключить из строки слова, расположенные между скобками ( , )
Ответ Создать тему
Опции темы

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