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

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

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

Поиск и вывод слов, заключенных в скобки - C++

12.12.2012, 20:53. Просмотров 367. Ответов 6
Метки нет (Все метки)

парни, помогите плз с программой. подправьте пожалуйста
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include<iostream.h>
#include<conio.h>
#include<string.h>
void main()
{
 char s[100],d[100];
 int i=0,j=0,bw,ew,len;
 gets(s); len=strlen(s);
 while (i<len)
 {
   if((s[i]=='(')&&(i<len)) i++;
   bw=i;
   while((s[i]==')')&&(i<len)) i++;
   ew=i;
   strncpy(d,&s[bw],ew-bw+1);
   d[ew-bw+1]=0;
   if (bw<len)
    { j++;
      cout<<d;}
 }
getch();
}
0
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.12.2012, 20:53
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Поиск и вывод слов, заключенных в скобки (C++):

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

Строки: определить число символов, заключенных в скобки - C++
#include &lt;iostream&gt; #include &lt;clocale&gt; #include &lt;string.h&gt; #include &lt;stdio.h&gt; using namespace std; int main() { ...

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

Поиск и вывод слов начинающихся на 'l' - C++
{int i,j; char s,s1; cin.getline(s,255); for(i=0;i&lt;255;i++) { if (s=='l') {j=i; while (s!=' ') {s1=s; i++;

Строки. Поиск одинаковых слов в предложениях. Вывод вместо одинаковых слов "*" - C++
Ввести два предложения, если в них есть одинаковые слова то во втором предложении заменить эти слова на &quot;*&quot;, причем количество &quot;*&quot; должно...

Вывод на экран чётных слов строки исправить на вывод нечётных слов - C++
#include&lt;conio.h&gt; #include&lt;iostream.h&gt; #include&lt;string.h&gt; #include&lt;stdio.h&gt; int i,l,j,k,p,n; char txt; char a,b; main() { ...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
MrGluck
Модератор
Эксперт CЭксперт С++
7239 / 4407 / 642
Регистрация: 29.11.2010
Сообщений: 11,929
12.12.2012, 21:05 #2
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include<iostream>
#include<conio.h>
#include<string.h>
int main()
{
 char s[100],d[100];
 int i=0,bw,ew,len;
 gets(s); len=strlen(s);
 while (i<len)
 {
   if(s[i]=='(')
   bw=i;
   if(s[i]==')')ew=i;
   i++;
  }
   strncpy(d,&s[++bw],ew-bw-1);
   d[ew-bw]='\0';
   std::cout<<d;
getch();
}
1
Raper58
0 / 0 / 0
Регистрация: 02.11.2012
Сообщений: 31
12.12.2012, 23:53  [ТС] #3
программа выводит только одно, последнее слово в скобках, а как сделать что бы все слова, заключенные в скобках выводились в конце?
0
MrGluck
Модератор
Эксперт CЭксперт С++
7239 / 4407 / 642
Регистрация: 29.11.2010
Сообщений: 11,929
13.12.2012, 00:53 #4
Raper58, копировать в конец массива новую последовательность символов, разделяя их пробелами. Мне не охота возиться с сишными массивами и функциями над ними, могу реализовать это через std::string.
1
NeonLost
Пес войны
74 / 85 / 3
Регистрация: 23.02.2012
Сообщений: 653
13.12.2012, 01:10 #5
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
#include <string>
#include <iterator>
 
#include <boost/regex.hpp>
 
int main() {
   std::string str = "-3.14asd.(hjgjhgjj)asd.a0.23.(222kjkj)asdf(k)j234d.123.34++23.0";
   boost::regex rgx("\\([a-z]+\\)");
   std::copy(
      boost::sregex_token_iterator(str.begin(), str.end(), rgx),
      boost::sregex_token_iterator(),
      std::ostream_iterator <std::string>(std::cout, "\n")
   );
   getchar();
}
0
Миниатюры
Поиск и вывод слов, заключенных в скобки  
Raper58
0 / 0 / 0
Регистрация: 02.11.2012
Сообщений: 31
13.12.2012, 23:52  [ТС] #6
Цитата Сообщение от MrGluck Посмотреть сообщение
Raper58, копировать в конец массива новую последовательность символов, разделяя их пробелами. Мне не охота возиться с сишными массивами и функциями над ними, могу реализовать это через std::string.
спасибо за подсказку
0
zarko97
276 / 36 / 0
Регистрация: 11.10.2015
Сообщений: 381
18.03.2017, 23:44 #7
NeonLost, а если скобки вложены?
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.03.2017, 23:44
Привет! Вот еще темы с ответами:

Поиск непарной скобки - C++
Придумал алгоритм поиска непарной скобки, но что-то он не работает=( В чем тут ошибка? Спасибо) while(!feof(f)) { char c; ...

Оптимальный поиск потеряной скобки - C++
написал большой кусок кода, запустил компиляцию, нашел все синтаксические ошибки, кроме одной: где-то потеряна скобка &quot;}&quot; все...

Для каждой открывающей скобки найти позицию ей соответствующей закрывающей скобки - C++
Доброго времени суток. Подскажите пожалуйста алгоритм или путь к решению задачи, используя СТЕК Дана ПСП, ваша задача для каждой...

Фигурные скобки: Мне пишут что ошибка в закрытие скобки после return. - C++
#include &lt;iostream&gt; using namespace std; int main(){ int *ptr_number = new int; int *sum = new int(0); cin &gt;&gt; *ptr_number; ...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
18.03.2017, 23:44
Ответ Создать тему
Опции темы

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