Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.50/4: Рейтинг темы: голосов - 4, средняя оценка - 4.50
Midori777
0 / 0 / 0
Регистрация: 18.12.2016
Сообщений: 2
1

Удалить из строки последовательности символов, расположенные между скобками

18.12.2016, 18:59. Просмотров 709. Ответов 2
Метки нет (Все метки)

Добрый вечер, ребята!
Есть задачка на строки.
Дана строка. Удалить из нее последовательности символов, расположенные между скобками. Скобки также удалить. После первой открывающей скобки другие открывающие скобки игнорируются. Если скобка не закрывается до конца строки, то удалять все до конца строки. Закрывающая скобка без парной открывающей игнорируется.

Есть код программы, которая работает через раз. В частности, онf не работает, когда строка не содержит закрывающуюся скобку (то есть должна удалить всё, что после первой открывающейся). Подскажите, где проблема. Я только начала изучать С++. Спасибо заранее!

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
35
36
37
38
#include <iostream>
#include <cstdio>
using namespace std;
 
int main()
{
    setlocale(LC_ALL, "RUSSIAN");
 
    char str[100], *ptr;
    char n_str[100] = "\0", *n_ptr;     
 
    cout << " VVedite stroky" ;
    cin.getline(str,100);
    ptr = str;
 
    while (*ptr) {      
        n_ptr = n_str;
 
        while (*ptr != '(' && *ptr)
         {
            *n_ptr = *ptr;
            n_ptr++; ptr++;
            
            if (*ptr == '(') {
                *ptr++;
 
                while (*ptr != ')' || *ptr=='\0')
                    ptr++;
 
                ptr++; 
            }
                    }
    }
  
        *n_ptr = '\0';
    cout << "Novay stroka " << n_str << endl;
    return 0;
}
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.12.2016, 18:59
Ответы с готовыми решениями:

Удалить из заданной строки все группы символов, расположенные между скобками, включая сами скобки
)))

Удалить группы символов, расположенные между фигурными скобками
А можно это же самое, только на си++? Так же ответить на некоторые вопросы типа: 1. без этих...

Исключить из строки группы символов, расположенные между скобками
Дана строка символов. Исключить из этой строки группы символов, расположенные между скобками ( )....

Исключить из строки слова, расположенные между скобками
Дана последовательность символов S1, …, SN. Группы символов, разделенные пробелом (одним или...

Исключить из строки слова, расположенные между скобками ( , )
Люди, очень нужна помощь! Напишите, пожалуйста, на С++ программу, которая из введенной с клавиатуры...

2
Ferrari F1
795 / 524 / 157
Регистрация: 27.01.2015
Сообщений: 3,025
Записей в блоге: 1
Завершенные тесты: 1
18.12.2016, 19:17 2
Midori777, а библиотеку string не пробовали использовать?
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
#include <iostream>
#include <string>
using namespace std;
 
int main()
{
    string str("LiL)))");
    //getline(cin, str);
 
    {
        size_t uiBegPos(str.find('(')), uiEndPos;
 
        if (uiBegPos != string::npos)
        {
            uiEndPos = str.rfind(')');
 
            if (uiEndPos == string::npos)
                str.erase(uiBegPos);
            else
                str.erase(str.cbegin() + uiBegPos, str.cbegin() + uiEndPos + 1);
        }
    }
 
    cout << str << endl;
 
    system("pause");
}
0
Midori777
0 / 0 / 0
Регистрация: 18.12.2016
Сообщений: 2
20.12.2016, 21:57  [ТС] 3
Уважаемый, не пробовала, так как Си++ в глаза увидела неделю назад. Всему своё время. Хотелось бы то, что само родилось (хоть и криво) докрутить.
0
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.12.2016, 21:57

Исключить из строки слова, расположенные между скобками ( , ). Сами скобки должны быть исключены.
Помогите с лабой!!! Строки Цель работы: изучение правил описания, ввода-вывода и основных функций...

Исключить из строки символов те, которые распологаются между круглыми скобками
исключить из строки символов те, которые распологаются между круглыми скобками, включая их ....

Строки: удалить все символы, которые размещены между скобками
Помогите пожалуйста. Без понятия как это сделать. Удалить из заданной последовательности все...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

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