0 / 0 / 0
Регистрация: 03.12.2017
Сообщений: 40
1

Дан массив символов. Удалить часть текста, заключенного в скобки (вместе со скобками)

04.04.2018, 13:38. Показов 5795. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Помогите срочно!!!
Задание : Дан массив символов. Удалить часть текста, заключенного в скобки (вместе со скобками)
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
04.04.2018, 13:38
Ответы с готовыми решениями:

Удалить часть текста, заключенную в скобки (вместе со скобками)
Удалить часть текста, заключенную в скобки (вместе со скобками). Считать, что скобки встречаются...

В заданном тексте удалить часть текста заключенного в скобки вместе со скобками.
В заданном тексте удалить часть текста заключенного в скобки вместе со скобками. можете...

Удалить часть текста, заключенную в скобки (вместе со скобками)
Удалить часть текста, заключенную в скобки (вместе со скобками). Считать, что скобки встречаются...

Дана строка, в которой имеется текст в скобках. Написать программу удаления части текста, заключенного в скобки, вместе со скобками
Дана строка, в которой имеется текст в скобках. Написать программу удаления части текста,...

3
2848 / 1997 / 986
Регистрация: 21.12.2010
Сообщений: 3,705
Записей в блоге: 10
04.04.2018, 15:02 3
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
#include <iostream>
#include <string>
#include <stack>
 
 
int main()
{
    std::string str("fg (fg gh (gh gh ) gh gh( bn bn( nm(,)))) kk (hj hj(jk m(jk m))) mm");
    std::stack<char> stk; 
    for (int i = 0; i < str.size(); ++i)
    {
        if ('(' == str[i])
        {
            stk.push(i);
        }
        else if (')' == str[i])
        {
            int ind = stk.top();
            stk.pop();
            str.erase(ind, i - ind + 1);
            i = ind - 1;
        }
    }
    std::cout << str << std::endl;
}
0
1505 / 968 / 812
Регистрация: 30.04.2016
Сообщений: 3,334
17.04.2018, 21:07 4
peter123, здравствуйте! Предлагаю вот такое (мое) решение:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <bits/stdc++.h>
 
    using namespace std;
 
int main() {
    string str;
    cout << "Enter a text:\n";
    getline(cin, str);
    for (int i = 0; i < str.size(); i++) {
        if (str[i] == '(')
            while (str[i] != ')') str.erase(i, 1);
        if (str[i] == ')') {
            str.erase(i, 1);
            i--;
        }
    }
    cout << "Target info:\n" << str << "\n";
    system("pause");
    return 0;
}
P.S. Предполагается, что скобки сбалансированы. Вложенность не допускается.

Добавлено через 22 часа 11 минут
peter123, вот код с учетом вложенности:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <bits/stdc++.h>
 
    using namespace std;
 
int main() {
    string str, s = "";
    int copy = 0;
    cout << "Enter a text:\n";
    getline(cin, str);
    for (int i = 0; i < str.size(); i++) {
        if (str[i] == '(') copy++;
        else {
            if (str[i] == ')') copy--;
            else if (copy == 0) s += str[i];
        }
    }
    cout << "Target info:\n" << s << "\n";
    system("pause");
    return 0;
}
0
17.04.2018, 21:07
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
17.04.2018, 21:07
Помогаю со студенческими работами здесь

Удалить часть текста, заключённую в скобки вместе со скобками. Внутри каждой пары скобок нет других скобок.
1. Удалить часть текста, заключённую в скобки вместе со скобками. Внутри каждой пары скобок нет...

Удалить часть текста, заключённого в скобки
3. Удалить в заданном тексте часть текста, заключённого в скобки (вместе со скобками). пацы оч...

Удалить часть текста, заключенного в скобки
Ребят, вот задание - &quot;Удалить часть текста, заключенного в скобки (вместе со скобками). &quot; Вот код....

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


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru