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

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

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 13, средняя оценка - 4.92
poisoncar
0 / 0 / 0
Регистрация: 19.04.2010
Сообщений: 4
19.04.2010, 00:45     Строки и скобки в C++ #1
Здравствуйте. Начали в колледже проходить C++. Нужно решить задачу, но никак с этим не справлюсь. в первом семестре решал точно такую же на Паскале и решил, а на Си никак не выходит. Буду очень благодарен за помощь. Вот задача: дана строка символов, среди которых есть одна открывающаяся скобка и закрывающаяся. Вывести на экран все символы расположенные внутри этих скобок. На форуме видел подобные темы, но в одной теме нет ответа, в другой очень непонятный и сложный код (Не понятный для программы колледжа). Если надо могу выложить свое решение на Паскале. Поздравьте меня с регистрацией. Могу выложить решения на C++ задачи: отражения в массиве элементов относительно главной диагонали, построение графика функции синус X в квадрате (Если кому надо). Еще раз спасибо!!

Добавлено через 24 минуты
Извините перепутал немного, решение на Паскале у меня есть для вот этой задачи: Работа с файлами..
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.04.2010, 00:45     Строки и скобки в C++
Посмотрите здесь:

C++ Удалить часть символьной строки, заключенной в скобки
Удалить часть символьной строки, заключенной в скобки (вместе со скобками). C++
Если в строке левая и правая скобки идут рядом, удалить их из строки C++
Строки: определить число символов, заключенных в скобки C++
Дана строка, содержащая латинские буквы и скобки. Если скобки расставлены правильно - вывести 0. Иначе - номер позиции, где есть ошибочная скобка C++
C++ Удалить часть символьной строки, заключонной в скобки
Вывести строку, заключающую каждое слово введенно строки в скобки C++
Для каждой открывающей скобки найти позицию ей соответствующей закрывающей скобки C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
accept
4837 / 3236 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
19.04.2010, 10:42     Строки и скобки в C++ #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;
}
easybudda
Модератор
Эксперт С++
 Аватар для easybudda
9371 / 5421 / 914
Регистрация: 25.07.2009
Сообщений: 10,423
19.04.2010, 18:56     Строки и скобки в C++ #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
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;
}
Yandex
Объявления
19.04.2010, 18:56     Строки и скобки в C++
Ответ Создать тему
Опции темы

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