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

Вывести на экран все символы, расположенные внутри скобок

28.10.2016, 15:11. Просмотров 534. Ответов 10
Метки нет (Все метки)

Дана строка символов, среди которых есть одна открывающая и одна закрывающая скобки. Вывести на экран все символы, расположенные внутри скобок.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.10.2016, 15:11
Ответы с готовыми решениями:

Вывести на экран все символы, расположенные внутри скобок
Прошу помочь решить задачки!:(очень нужно (Билет №22) Дана строка, среди...

Строки. Вывести на экран все символы, расположенные внутри скобок
Дана строка символов, среди которых есть одна открывающаяся и одна...

Для заданной строки вывести на экран её символы, расположенные перед первой запятой
Для заданной строки вывести на экран её символы, расположенные перед первой...

Составить программу, которая выводит на экран все символы, расположенные после первого символа'':''
С клавиатуры вводится строка. Составить программу, которая выводит на экран все...

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

10
Peoples
1347 / 836 / 749
Регистрация: 06.02.2016
Сообщений: 2,230
Записей в блоге: 17
Завершенные тесты: 4
28.10.2016, 15:19 2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <iostream>
#include <string>
using namespace std;
int main() {
    string s= {"(hellow)"};
    size_t f=s.find('(')+1;
    size_t ff=s.find(')');
    if(f!=string::npos && ff!=string::npos) {
        s=s.substr(f,ff-f);
    }
    cout<<s<<endl;
    return 0;
}
0
GbaLog-
Любитель чаепитий
3166 / 1472 / 465
Регистрация: 24.08.2014
Сообщений: 5,204
Записей в блоге: 1
Завершенные тесты: 2
28.10.2016, 15:26 3
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
/////////////////////////////////////////////////////////////////////////////////////////
// Дана строка символов, среди которых есть одна открывающая и одна закрывающая скобки.
// Вывести на экран все символы, расположенные внутри скобок.
/////////////////////////////////////////////////////////////////////////////////////////
#include <iostream>
#include <string>
/////////////////////////////////////////////////////////////////////////////////////////
int main()
{
    std::string str{};
    
    std::getline( std::cin, str );
    
    std::string::size_type idx{ str.find( '(' ) };
    std::cout << str.substr( idx + 1, str.find( ')' ) - idx - 1 ) << std::endl; 
}
0
Hikari
Хитрая блондиночка $)
1451 / 963 / 399
Регистрация: 21.12.2015
Сообщений: 3,785
28.10.2016, 15:27 4
С коленки
C++
1
2
3
4
5
6
7
8
9
10
11
#include <iostream>
#include <string>
using namespace std;
 
int main()
{
    string s="Hel(lo Wo)0rld";
    cout << s.substr(s.find_first_of("(")+1,s.length()-s.find_last_of(")")) << endl; 
   
   return 0;
}
0
MrGluck
Модератор
Эксперт CЭксперт С++
8087 / 4940 / 1431
Регистрация: 29.11.2010
Сообщений: 13,398
28.10.2016, 15:55 5
C++
1
2
3
4
5
6
7
8
9
10
#include <iostream>
#include <regex>
#include <string>
 
int main()
{
    const std::string str = "This is the long (string having some words) inside.";
    std::smatch sm;
    std::cout << (std::regex_search(str, sm, std::regex("\\((.*)\\)")) ? sm[1].str() : "Not found");
}
2
Maxim Prishchepa
Эксперт С++
1924 / 1036 / 109
Регистрация: 29.03.2010
Сообщений: 3,167
28.10.2016, 16:32 6
всем два:
а если пар скобок будет больше чем одна?
а если будет открывающаяся скобка, но не будет закрывающейся и наоборот? //согласен такой кейс с файндом схавается, но все равно не по феншую
а если будут внутри скобок вложенные скобки?
0
GbaLog-
Любитель чаепитий
3166 / 1472 / 465
Регистрация: 24.08.2014
Сообщений: 5,204
Записей в блоге: 1
Завершенные тесты: 2
28.10.2016, 16:37 7
Maxim Prishchepa, В ТЗ нет никаких "если".
Цитата Сообщение от Hovanskiy21 Посмотреть сообщение
Дана строка символов, среди которых есть одна открывающая и одна закрывающая скобки.
0
Maxim Prishchepa
Эксперт С++
1924 / 1036 / 109
Регистрация: 29.03.2010
Сообщений: 3,167
28.10.2016, 16:41 8
Цитата Сообщение от GbaLog- Посмотреть сообщение
В ТЗ нет никаких "если".
жаль такая отмазка в 99.9% не "хавается" РМом)))
0
GbaLog-
Любитель чаепитий
3166 / 1472 / 465
Регистрация: 24.08.2014
Сообщений: 5,204
Записей в блоге: 1
Завершенные тесты: 2
28.10.2016, 16:54 9
Цитата Сообщение от Maxim Prishchepa Посмотреть сообщение
а если пар скобок будет больше чем одна?
а если будет открывающаяся скобка, но не будет закрывающейся и наоборот? //согласен такой кейс с файндом схавается, но все равно не по феншую
а если будут внутри скобок вложенные скобки?
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
/////////////////////////////////////////////////////////////////////////////////////////
#include <iostream>
#include <string>
#include <stdexcept>
/////////////////////////////////////////////////////////////////////////////////////////
int main()
{
    std::string str{ "as(((((((((((((d(a))))sd" };
    
    std::getline( std::cin, str );
    
    auto begin = str.find_last_of( '(' );
    auto end = str.find_first_of( ')' );
    
    if( begin == std::string::npos 
     || end == std::string::npos
     || begin > end
      )
    {
        throw std::runtime_error( "Opsss, fail" );
    }
    
    std::cout << str.substr( begin + 1, end - begin - 1 );
}
Больше никаких если!
0
MrGluck
Модератор
Эксперт CЭксперт С++
8087 / 4940 / 1431
Регистрация: 29.11.2010
Сообщений: 13,398
28.10.2016, 17:09 10
Цитата Сообщение от Maxim Prishchepa Посмотреть сообщение
а если пар скобок будет больше чем одна?
а если будет открывающаяся скобка, но не будет закрывающейся и наоборот? //согласен такой кейс с файндом схавается, но все равно не по феншую
а если будут внутри скобок вложенные скобки?
переключение от жадного поиска на ленивый идёт простым добавлением одного символа (?)
C++
1
2
3
4
5
6
7
8
9
10
11
#include <iostream>
#include <regex>
#include <string>
 
int main()
{
    const std::string str = "This is the (long) string (having) some words inside.";
    std::regex reg("\\((.*?)\\)");
    for (std::sregex_iterator beg(str.begin(), str.end(), reg), end; beg != end; ++beg)
        std::cout << beg->str(1) << std::endl;
}
А все "неверные комбинации" с непарными скобками оно и до этого отсеивало.
2
Hikari
Хитрая блондиночка $)
1451 / 963 / 399
Регистрация: 21.12.2015
Сообщений: 3,785
28.10.2016, 21:42 11
Цитата Сообщение от Maxim Prishchepa Посмотреть сообщение
а если пар скобок будет больше чем одна?
Тогда только лексический анализатор.
0
28.10.2016, 21:42
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.10.2016, 21:42

Вывести все корректные комбинации пар круглых скобок, которые можно сформировать из n скобок
Вывести все корректные комбинации пар круглых скобок, которые можно...

Необходимо вывести на экран все различные символы строки
Помогите, пожалуйста! Написать программу, которая читает с клавиатуры строку...

Вывести на экран все символы строки кроме букв
дана строка вывести на экран символы кроме букв


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

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

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