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

Подсчитать количество слов во введенной фразе

20.11.2021, 17:22. Показов 1042. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Нужна помощь в следующем задании:

С клавиатуры вводится фраза до тех пор, пока не встретится точка. Подсчитать количество слов во введенной фразе. Считать, что слова отделяются друг от друга пробелами, запятыми, двоеточием, точкой с запятой, тире.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
20.11.2021, 17:22
Ответы с готовыми решениями:

С клавиатуры вводится фраза до тех пор, пока не встретится точка. Подсчитать количество слов во введенной фразе
Здравствуйте. Нужно выполнить вот такую задачу: С клавиатуры вводится фраза до тех пор, пока не...

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

Во введённой строке подсчитать количество слов, содержащих строчные буквы «t» и «s», стоящие на соседних местах
Во введённой строке подсчитать количество слов, содержащих строчные буквы «t» и «s», стоящие на...

Обработка символьной информации: Подсчитать количество слов во введенной фразе
С клавиатуры вводится фраза до тех пор, пока не встретится точка. Подсчитать количество слов во...

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

4
ура
14 / 8 / 8
Регистрация: 18.09.2021
Сообщений: 32
20.11.2021, 17:49 2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <conio.h>
#include <iostream>
 
int main() {
    int words = 1;
    char curr;
    const char PUNCTUATION_ARR_LEN = 5;
    char punc[PUNCTUATION_ARR_LEN] = { ' ', ',', ';', ':', '-' };
    do {
        curr = _getch();
        std::cout << curr;
        for(int i = 0; i < PUNCTUATION_ARR_LEN; i++)
            if(curr == punc[i]) {
                words++;
                continue;
            }
    } while(curr != '.');
    std::cout << std::endl << words;
}
1
0 / 0 / 0
Регистрация: 15.11.2021
Сообщений: 4
20.11.2021, 18:17  [ТС] 3
Добавлено через 2 минуты
asiuuf, Спасибо большое, однако тут есть проблема, что пробел после запятой и других разделительных знаков считается как слово.
0
ура
14 / 8 / 8
Регистрация: 18.09.2021
Сообщений: 32
20.11.2021, 18:18 4
хз как сделать по красоте, поэтому вот костыль
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
int words = 1;
    char curr;
    const char PUNCTUATION_ARR_LEN = 5;
    char punc[PUNCTUATION_ARR_LEN] = { ' ', ',', ';', ':', '-' };
    char last = 0;
    do {
        curr = _getch();
        std::cout << curr;
 
                bool temp = true;
        for(int i = 0; i < PUNCTUATION_ARR_LEN; i++)
            if(last == punc[i]) {
                temp = false;
                continue;
            }
 
        if(temp)
            for(int i = 0; i < PUNCTUATION_ARR_LEN; i++)
                if(curr == punc[i]) {
                    words++;
                    continue;
                }
 
        last = curr;
    } while(curr != '.');
    std::cout << std::endl << words;
2
7437 / 5029 / 2892
Регистрация: 18.12.2017
Сообщений: 15,692
21.11.2021, 06:23 5
Лучший ответ Сообщение было отмечено linkle как решение

Решение

Цитата Сообщение от asiuuf Посмотреть сообщение
#include <conio.h>
это не С++

linkle,
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <iostream>
#include <string>
#include <cctype>
using namespace std;
 
int main()
{    
    size_t i=0, count=0;
    string s;
    cout << "Phrase ('.' - exit):\n";
    getline(cin, s, '.');
    
    while(s[i])
    {
        if(isalpha(s[i]) && !isalpha(s[i+1])) count++;
        i++;
    }    
    
    cout << "count=" << count << "\n";
 
system("pause");
return 0;
}
1
21.11.2021, 06:23
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
21.11.2021, 06:23
Помогаю со студенческими работами здесь

В введенной строке подсчитать количество слов
В введенной строке подсчитать количество слов, что одинаково начинаются и заканчиваются...

Подсчитать количество слов в введенной строке
Запросить у пользователя произвольные слова пока не введена точка. Подсчитать кол-во слов. ...

Во введенной с клавиатуры строки подсчитать количество слов
Во введенной с клавиатуры строки подсчитать количество слов.

Подсчитать количество слов во введенной пользователем строке
Составить программу на языке Паскаль для решения задачи: Подсчитать количество слов во введенной...

Подсчитать количество слов во введенной строке символов
Строка символов содержит слова, разделенные одним или несколькими пробелами. Подсчитать количество...

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


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru