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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
VitaliyH
4 / 4 / 0
Регистрация: 05.09.2012
Сообщений: 41
#1

Поиск символов в строке - C++

10.12.2012, 17:24. Просмотров 982. Ответов 7
Метки нет (Все метки)

задание такое: Дана строка произвольной длины. Группы символов, разделенные пробелами (одним или несколькими), будем называть словами. Определить длину введенной строки, и если длина строки кратна 5, то подсчитайте количество скобок всех видов. подскажите плиз как посчитать скобки всех видов?

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
#include <iostream>
#include <string>
using namespace std;
 
 
int main()
{
    string str;
 
    cout<<"Enter symbols: ";
    getline( cin, str );
 
    int len = str.length();
 
    cout<<endl<<"Length of string: "<<len<<" symbols"<<endl<<endl;
 
    if (len%5 == 0)
    {
      (как подсчитать кол во скобок?)
    }
    else
    {
        cout<<"Not a multiple of five !"<<endl<<endl;
    }
 
 
    return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.12.2012, 17:24
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Поиск символов в строке (C++):

Поиск символов в строке - C++
написать прогу, которая запрашивает с клавиатуры строку, длиной 100 символов ,а потом находит в ней символы (. , !) и выводит на экран...

Поиск символов в строке C++ - C++
Помогите с задачей, буду очень благодарен Суть задачи такова: в качестве строки вводим с клавиатуры положительное число. Длина строки не...

Поиск символов в строке - C++
Есть строка в файле txt, как организовать поиск наиболее часто повторяющегося символа в строке ?

Поиск символов в строке - C++
Доброго времени суток! Помогите пожалуйста-Нужно подсчитать в строке количество букв «в» Строку из нескольких слов мы должны ввести...

Поиск чисел в строке символов - C++
Прошу помочь с алгоритмом,т к сама не понимаю. Пыталась записать каждое число в отдельную строку,а потом призвоить float строке,но это...

Поиск палиндрома в строке символов - C++
Условие задачи: 1) Задан символьный массив F(N), N&lt;=260. Найти отрезок массива максимальной длины, в котором первый символ равен...

7
David Sylva
1287 / 949 / 51
Регистрация: 17.05.2012
Сообщений: 2,687
10.12.2012, 17:32 #2
Лёгко. Заводишь счётчик, проходишь циклом по строке, если встречаешь символ скобки увеличиваешь счётчик.
1
VitaliyH
4 / 4 / 0
Регистрация: 05.09.2012
Сообщений: 41
10.12.2012, 18:50  [ТС] #3
что-то я не доганяю как мне сделать поиск... str.find ищит до первого символа, и я не знаю как его заставить искать сразу шесть символов.
0
sovaz1997
CEO SOVAZ Corp.
380 / 226 / 2
Регистрация: 17.12.2011
Сообщений: 819
Записей в блоге: 1
Завершенные тесты: 1
10.12.2012, 18:53 #4
C++
1
2
3
4
5
for(int i = 0; i < str.size(); ++i) {
    if(str[i] == '(' /*перечисление скобок*/) {
        ++num_scobs;
    }
}
1
David Sylva
1287 / 949 / 51
Регистрация: 17.05.2012
Сообщений: 2,687
10.12.2012, 18:53 #5
Можно и без find, просто проходишь циклом, если встречается скобка увеличиваешь счётчик.
1
VitaliyH
4 / 4 / 0
Регистрация: 05.09.2012
Сообщений: 41
11.12.2012, 10:37  [ТС] #6
Цитата Сообщение от sovaz1997 Посмотреть сообщение
C++
1
2
3
4
5
6
7
for(int i = 0; i < str.size(); ++i) 
{
    if(str[i] == '(' /*перечисление скобок*/) 
    {
        ++num_scobs;
    }
}
возможно я покажусь туповатым, но я хочу разобраться.

мы создали переменную "i" которая будет всегда равна длине строки(это понятно), str[i]-это символьный массив?(а чего он не объявлен? или подразумевается что это копия str string, только в массиве?) далее мы сравниваем str[i] с нужными нам символами? (как перечислять '['....... ?)
++num_scobs; -что это значит?(что именно увеличить на кол-во скобок?)
0
David Sylva
1287 / 949 / 51
Регистрация: 17.05.2012
Сообщений: 2,687
11.12.2012, 11:21 #7
Цитата Сообщение от VitaliyH Посмотреть сообщение
мы создали переменную "i" которая будет всегда равна длине строки(это понятно), str[i]-это символьный массив?(а чего он не объявлен? или подразумевается что это копия str string, только в массиве?) далее мы сравниваем str[i] с нужными нам символами? (как перечислять '['....... ?)
++num_scobs; -что это значит?(что именно увеличить на кол-во скобок?)
i это счётчик цикла.Он идёт от 0 элемента, до конца строки. str это и есть строка типа string.Мы проходим циклом, по строке, то есть по каждому её элементу и если встречается элемент равный символу скобок, мы увеличиваем, num_scobs на один.

Добавлено через 4 минуты
Простой пример
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <iostream> 
#include <string> 
 
int main() 
{ 
    int count = 0; // счётчик скобок изначально равен 0
    std::string str = "asdasdsa()assads{}asdsd[]sadsad asdasdsa"; // строка
    unsigned i; // переменная в цикле
 
    for ( i = 0; i < str.size(); ++i) // проходим по циклу
        if(str[i] == '(' || str[i] == ')' || str[i] == '{' || str[i] == '}' || str[i] == '[' || str[i]==']') // виды скобок
            count++; // увеличиваем счётчик
 
    std::cout << "Count is " << count << std::endl;
}
1
VitaliyH
4 / 4 / 0
Регистрация: 05.09.2012
Сообщений: 41
11.12.2012, 11:38  [ТС] #8
Всем спасибо, разобрался, все работает!
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.12.2012, 11:38
Привет! Вот еще темы с ответами:

Поиск четных символов в строке - C++
вот мой код int main() { string a; getline(cin, a); for (int i = 0; i&lt;a.size();i++) if (a % 2 == 0) cout &lt;&lt; a; ...

Поиск слова в массиве символов (строке) - C++
Вроде правильно все а не работает. В чем причина? #include &quot;stdafx.h&quot; #include &lt;iostream&gt; #include &lt;stdio.h&gt; #include &lt;Windows.h&gt; ...

Поиск бинарных чисел в строке символов и их преобразование - C++
Добрый вечер. Нужна помощь в реализации программы. Задача: Дана строка символов, в которой содержатся числа в двоичной системе...

Поиск слов в строке состоящей из русских символов. - C++
Здравствуйте. Помогите пожалуйста с программой. Мне нужно найти местоположение слова в строке вводимой с консоли. #include &lt;iostream&gt;...


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

Или воспользуйтесь поиском по форуму:
8
Yandex
Объявления
11.12.2012, 11:38
Ответ Создать тему
Опции темы

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