Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/40: Рейтинг темы: голосов - 40, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 19.04.2010
Сообщений: 4
1

Строки и скобки в C++

19.04.2010, 00:45. Показов 8069. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте. Начали в колледже проходить C++. Нужно решить задачу, но никак с этим не справлюсь. в первом семестре решал точно такую же на Паскале и решил, а на Си никак не выходит. Буду очень благодарен за помощь. Вот задача: дана строка символов, среди которых есть одна открывающаяся скобка и закрывающаяся. Вывести на экран все символы расположенные внутри этих скобок. На форуме видел подобные темы, но в одной теме нет ответа, в другой очень непонятный и сложный код (Не понятный для программы колледжа). Если надо могу выложить свое решение на Паскале. Поздравьте меня с регистрацией. Могу выложить решения на C++ задачи: отражения в массиве элементов относительно главной диагонали, построение графика функции синус X в квадрате (Если кому надо). Еще раз спасибо!!

Добавлено через 24 минуты
Извините перепутал немного, решение на Паскале у меня есть для вот этой задачи: Работа с файлами..
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
19.04.2010, 00:45
Ответы с готовыми решениями:

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

Убрать символы от начала строки до угловой скобки в середине строки
Здравствуйте, подскажите пожалуйста решение, кажется все просто, но нигде ответа не нашел :(...

Удалить из строки все скобки
1) Удалить из строки все скобки.......

Удалить круглые скобки у строки
Доброго времени суток! Не подскажите как удалить из строки example ( 1-4 шт.). круглые скобки и всё...

2
4866 / 3288 / 468
Регистрация: 10.12.2008
Сообщений: 10,570
19.04.2010, 10:42 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
30
31
32
33
34
35
36
37
38
39
40
41
#include <stdio.h>
#include <stdlib.h>
 
/* выводит содержимое скобок */
int main(void) /* ANSI C89 */
{
    const char *line = "abcdef(gasdlkjklasdf)lkjasd";
    int c, i, prntflag, result;
    
    
    prntflag = 0;
 
    result = 0;
    
    for (i = 0; (c = line[i]) != '\0'; i++) {
    
        if (c == '(')
            if (prntflag == 0) {
                prntflag = 1;
                continue;
            }    
        
        if (c == ')')
            if (prntflag == 1)
                prntflag = 0;
        
        if (prntflag == 1) {
            if (result == 0)
                result = 1;
            putchar(c);
        }    
    
    }
 
    if (result == 1)
        putchar('\n');
    else
        printf("none" "\n");
    
    return EXIT_SUCCESS;
}
0
Модератор
Эксперт PythonЭксперт JavaЭксперт CЭксперт С++
12458 / 7482 / 1753
Регистрация: 25.07.2009
Сообщений: 13,762
19.04.2010, 18:56 3
Лучший ответ Сообщение было отмечено poisoncar как решение

Решение

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 <string>
 
int main(){
    std::string instr, outstr;
    std::cout << "Enter some text with one open and one close bracket:" << std::endl;
    std::getline(std::cin, instr);
    size_t start_pos = instr.find_first_of('(');
    if ( start_pos == std::string::npos ){
        std::cerr << "No open bracket!" << std::endl;
        return 1;
    }
    size_t end_pos = instr.find_last_of(')');
    if ( end_pos == std::string::npos ){
        std::cerr << "No close bracket!" << std::endl;
        return 1;
    }
    if ( start_pos > end_pos ){
        std::cerr << "Close bracket befor open bracked!" << std::endl;
        return 1;
    }
    if ( end_pos - start_pos < 2 ){
        std::cerr << "No symbols between brackets!" << std::endl;
        return 1;
    }
    outstr = instr.substr(start_pos + 1, end_pos - start_pos - 1);
    std::cout << "Inside brackets: " << outstr << std::endl;
 
    return 0;
}
0
19.04.2010, 18:56
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
19.04.2010, 18:56
Помогаю со студенческими работами здесь

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

Составить программу удаляющую всё что заключено в скобки и сами скобки
Здравствуйте, помогите пожалуйста составить программу удаляющую всё что заключено в скобки и сами...

Для каждой открывающей скобки найти позицию ей соответствующей закрывающей скобки
Даны 4 вида скобок () {} &lt;&gt;. Для каждой открывающей скобки найти позицию ей соответствующей...

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

Заключить каждое слово строки в скобки
Ввести символьную строку (string). Определить её длину. Создать вторую строку динамически которая...

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


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

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