Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.77/13: Рейтинг темы: голосов - 13, средняя оценка - 4.77
 Аватар для Sh7rk
1 / 1 / 0
Регистрация: 14.03.2018
Сообщений: 5

Строки. Обработка слов

15.03.2018, 02:23. Показов 2607. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Ввести текст. Подсчитать количество слов, имеющих букву «a».
Написал данный код и он вроде как работает, но есть подвох, ведь если в слове больше двух раз встречается введенная буква, то он их считает обе. Хелп.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include "stdafx.h" 
#include <iostream> 
#include <string> 
 
using namespace std;
 
int main()
{
    setlocale(0, "");
    string line;
    char c;
    cout << "Введите строку" << endl;
    getline(cin, line);
    cout << "Введите букву которую нужно найти" << endl;
    cin >> c;
    
    cout << "Количество введенных символов в строке равно" << endl;
    cout << count(line.begin(), line.end(), c) << endl;
    return 0;
}
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
15.03.2018, 02:23
Ответы с готовыми решениями:

Обработка слов строки без массива слов
В программе нужно обработать введенную строку , ввести некоторую разменость и вывести слова , рамерность которых больше за введенную . ...

Функция, получает строку слов и рзделителей, а на выходе имеет массив слов из строки и количество этих слов
мне нужна функция, которая во входе получает строку слов и рзделителей (&quot; &quot;, &quot;,&quot;, &quot;.&quot;, &quot;_&quot;, &quot;&quot;&quot;), а на...

Дана строка из 20 слов. Сформировать строку, составленную из последних букв всех слов исходной строки
Задача: дана строка из 20 слов (или любого другого числа). Сформировать строку, составленную из последних букв всех слов исходной строки.

5
 Аватар для igorrr37
2869 / 2016 / 991
Регистрация: 21.12.2010
Сообщений: 3,720
Записей в блоге: 15
15.03.2018, 03:55
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <iostream>
#include <string>
#include <regex>
#include <iterator>
using isr = std::sregex_iterator;
 
 
int main()
{
    std::string str("a, adfa, Afg, fgh");
    std::regex reg("\\b[[:alpha:]]*?a[[:alpha:]]*?\\b");
    std::cout << std::distance(isr(str.begin(), str.end(), reg), isr()) << std::endl;
}
0
 Аватар для Fixer_84
1505 / 969 / 812
Регистрация: 30.04.2016
Сообщений: 3,337
18.03.2018, 22:21
Sh7rk, здравствуйте! Вот еще вариант:

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 s, word;
    cout << "Enter a string [ENG]:\n";
    getline(cin, s);
    stringstream str(s);
    int k = 0;
    while (str >> word)
    {
        if (word.find('a') != string::npos)
            k++;
    }
    cout << "Target quantity: " << k << "\n";
    system("pause");
    return 0;
}
0
7 / 7 / 14
Регистрация: 18.10.2016
Сообщений: 46
18.03.2018, 22:51
такой еще вариант есть:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
int main()
{
    string str;
    getline(cin, str);
    size_t count{};
    for (int i{}; i < str.size(); ++i)
    {
        if (str[i] == 'a')
        {
            count++;
            for(; str[i] != ' ' && i < str.size(); ++i) {}
        }
    }
    cout << count << endl;
    return 0;
}
0
 Аватар для Sh7rk
1 / 1 / 0
Регистрация: 14.03.2018
Сообщений: 5
21.03.2018, 22:45  [ТС]
Цитата Сообщение от art_h4rd Посмотреть сообщение
такой еще вариант есть:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
int main()
{
    string str;
    getline(cin, str);
    size_t count{};
    for (int i{}; i < str.size(); ++i)
    {
        if (str[i] == 'a')
        {
            count++;
            for(; str[i] != ' ' && i < str.size(); ++i) {}
        }
    }
    cout << count << endl;
    return 0;
}
А можно с комментариями что значит каждая строчка, будьте добры.
0
7 / 7 / 14
Регистрация: 18.10.2016
Сообщений: 46
21.03.2018, 22:51
Цитата Сообщение от Sh7rk Посмотреть сообщение
А можно с комментариями что значит каждая строчка, будьте добры.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
int main()
{
    string str; // объявили строку
    getline(cin, str); // ввели строку
    size_t count{}; // объявили переменную(unsigned int), инициализировали 0
    for (int i{}; i < str.size(); ++i) // идем по символам по строке до конца
    {
        if (str[i] == 'a') // если встречаем символ 'a' в слове
        {
            count++; // инкрементируем счетчик
            for(; str[i] != ' ' && i < str.size(); ++i) {} // идем на следующее слово
        }
    }
    cout << count << endl;
    return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
21.03.2018, 22:51
Помогаю со студенческими работами здесь

Обработка строк\слов. C.
Помогите разобратся, как на с реальизовать такую фишку: дано слово ( масив символов), его надо вывести только в том случае, если...

Прочтение слов из txt и обработка
Ребят, нужна помощь. Нужно написать программу, которая прочтет файл А и выведет новую информацию в файл Б. Информация в файле А. Ну...

Чтение слов из файла и их обработка
Имеется типизированный файл, элементами которого являются отдельные слова. а) Найти количество слов, начинающихся на букву «м». б)...

Добавить в конец первой строки, последние n2-n1 слов второй строки
помогите пожалуйста! Даны две строки. Пусть n1 - число слов в первой строке, а n2 - во второй (n1&lt;n2). Добавить в конец первой строки,...

Заданы 2 строки, состоящие из слов, разделенных пробелами. Определить местоположение символа первой строки
Заданы 2 строки, состоящие из слов, разделенных пробелами. Определить местоположение символа первой строки, который первым не совпал с...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
Фото: Daniel Greenwood
kumehtar 13.11.2025
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru