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

Узнать длину каждого слова в строке

14.10.2022, 18:06. Показов 2408. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем привет мне необходимо узнать длину каждого слова в строке. Фантазии на реализацию этого не хватает вот сам код
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 <cstring>
#include <string>
using namespace std;
int main()
{
    char text[256] = {}; // 256 максимальная длина строки
    cout << "Enter text: ";
    cin.getline(text, 256);
    cout << "You have entered: " << text << endl;
    int words = 0;
    int len_words = 0;
    char separators[] = { ' ' , '-' , ',' , '.' , '~', '=', '\0'};
    int letter = 0;
    char letter_a = 160; // буква "а" в ASCII находится под номером 160
    char letter_A = 128; // буква "A" в ASCII находится под номером 128
    // считаем кол-во слов
    int a = sizeof(separators) / sizeof(separators[0]);
    cout << a << endl;
    for (int i = 1; i <= strlen(text); i++)
    {
        for (int j = 0; j <= a; j++)
        {
            if (text[i] == separators[j])
{
words++;
}
}
}
cout << "Number of words: " << words << endl;
// Узнаем сколько раз буква "а" или "A" входит в строку
for (int j = 0; text[j] != 0; j++)
{
if (letter_a == text[j] or letter_A == text[j])
{
letter++;
}
}
cout << "Letters a: " << letter << endl;[/CPP]
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
14.10.2022, 18:06
Ответы с готовыми решениями:

Узнать длину строки и длину каждого слова
есть код который реверсирует слова в строке. Как узнать длину слова(например 3 слова ) и количество символов ? #include...

В строке после каждого слова дописать ее длину
Консольное приложение Win32 текст задачи: В строке после каждого слова дописать ее длину.

В введенной строке вставить после каждого слова его длину
В введенной строке вставить после каждого слова его длину

1
Just Do It!
 Аватар для XLAT
4197 / 2652 / 654
Регистрация: 23.09.2014
Сообщений: 8,946
Записей в блоге: 3
14.10.2022, 20:27
Цитата Сообщение от Artyom_Hilton Посмотреть сообщение
Узнать длину каждого слова в строке
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
/// C++17
///----------------------------------------------------------------------------|
/// Всем привет, мне необходимо узнать длину каждого слова в строке.
/// Фантазии на реализацию этого не хватает: вот сам код.
///----------------------------------------------------------------------------|
#include <string>
#include <vector>
#include <iomanip>
#include <iostream>
#include <algorithm>
 
void split(const std::string& text, std::vector<std::string>& container)
{   const std::string punc(" \t\n\r,.;-:");
    for(size_t i, e = 0;
            (i = text.find_first_not_of(punc, e)) != std::string::npos;)
    {   if( (e = text.find_first_of    (punc, i)) == std::string::npos )
             e = text.size();
        container.emplace_back(text.substr(i, e - i));
    }
}
 
int main()
{   setlocale(0,"");
    
    std::string s = "Всем привет, мне необходимо узнать длину "
                    "каждого слова в строке. Фантазии на реализацию "
                    "этого не хватает: вот сам код.";
 
    std::vector<std::string> cargo ;
    {   split  (s,           cargo);
    }
 
    for(const auto& e : cargo)
    {   std::cout << std::setw(16) << e << " : " << e.size() << '\n';
    }
 
    std::cin.get();
}
out:
Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
            Всем : 4
          привет : 6
             мне : 3
      необходимо : 10
          узнать : 6
           длину : 5
         каждого : 7
           слова : 5
               в : 1
          строке : 6
        Фантазии : 8
              на : 2
      реализацию : 10
           этого : 5
              не : 2
         хватает : 7
             вот : 3
             сам : 3
             код : 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
31
32
33
34
35
36
37
38
/// MSYS GCC C++17
///----------------------------------------------------------------------------|
/// Всем привет, мне необходимо узнать длину каждого слова в строке.
/// Фантазии на реализацию этого не хватает: вот сам код.
///----------------------------------------------------------------------------|
#include <vector>
#include <iomanip>
#include <iostream>
#include <string_view>
#include <algorithm>
 
typedef             std::string_view   S;
typedef std::vector<std::string_view> VS;
 
const VS& split(  S text)
{   const    S punc(" \t\n\r,.;-:");
    static  VS container;
    for(size_t i, e = 0;
            (i = text.find_first_not_of(punc, e)) != std::string::npos;)
    {   if( (e = text.find_first_of    (punc, i)) == std::string::npos )
             e = text.size();
               container.emplace_back(text.substr(i, e - i));
    }   return container;
}
 
int main()
{   setlocale(0, "");
 
    S s = "Всем привет, мне необходимо узнать длину "
          "каждого слова в строке. Фантазии на реализацию "
          "этого не хватает: вот сам код.";
 
    for(const auto& e : split(s))
    {   std::cout << std::setw(16) << e << " : " << e.size() << '\n';
    }
 
    std::cin.get();
}
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
14.10.2022, 20:27
Помогаю со студенческими работами здесь

В строке подсчитать сумму кодов символов каждого слова. Слова в строке разделены пробелами
нашел функцию для вычисления суммы кодов символов на форуме, но как переделать её под динамический массив? #include &lt;iostream&gt; ...

Определить длину каждого слова в заданной строке и вывести слова наибольшей длины
1.Написать программу, которая определяет длину каждого слова в заданной строке и выводит слова наибольшей длины. 2.Написать программу,...

Подсчитать длину каждого слова в строке
Нужно написать программу с подсчетом длины слов в строке. Я нашел на этом форуме решение, но только на паскале, а я его не понимаю...

Определить длину каждого слова в строке
дана строка слов, определить длину каждого слова в строке.

Найти длину каждого слова в строке
дана строка. слова в ней разделены пробелами. найти длину каждого слова в строке.


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка. Рецензия / Мнение Это мой обзор планшета X220 с точки зрения школьника. Недавно я решила попытаться уменьшить свой. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД 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
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru