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

Дана фраза. Определить, сколько в ней букв

02.04.2018, 20:09. Показов 3002. Ответов 5

Студворк — интернет-сервис помощи студентам
Помогите пожалуйста!
Задача: Дана фраза. Определить, сколько в ней букв (к буквам не относятся символы-разделители - пробелы, точки, тире, запятые и т. д.)
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>
#include <cstring>
using namespace std;
int main()
{
    setlocale(0, "");
    int n = 100, i = 0, len = 0;
    char *s = new char[n];
    cout << "Введите предложение: ";
    cin.getline(s, n);
    char *k = strtok(s, " ,./?!@#$%^&*()_+|\=-0987654321`~");
    while (k)
    {
        k = strtok(NULL, " ,./?!@#$%^&*()_+|\=-0987654321`~");      
        i++;
    }
    len = strlen (k);
    cout << "Количество букв, не считая символов-разделителей = " << len << endl;
    delete [] s;
    s = NULL;
    system("pause");
}
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
02.04.2018, 20:09
Ответы с готовыми решениями:

Дана фраза. Определить, сколько в ней наречий
Помогите пожалуйста с прогой. Дана фраза. Определить, сколько в ней наречий (слов, оканчивающихся на &quot;о&quot;).

Дана фраза. Определить сколько в ней симметричных пятибуквенных слов
Необходимо программу написать на С++.. Дана фраза. Определить,сколько в ней симметричных пятибуквенных слов. Добавлено через 10...

Дана фраза .определить имеются ли в ней симметричные пятибуквенные слова
Дана фраза .определить имеются ли в ней симметричные пятибуквенные слова .

5
 Аватар для _SayHello
874 / 535 / 175
Регистрация: 30.07.2015
Сообщений: 1,739
02.04.2018, 20:38
Лучший ответ Сообщение было отмечено wowa97zxcv как решение

Решение

wowa97zxcv,
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream>
#include <string>
using namespace std;
int main()
{
    setlocale(0, "");
    int n = 100, len = 0;
    char *s = new char[n];
    cout << "Введите предложение: ";
    cin.getline(s, n);
    char *k = strtok(s, " ,./?!@#$%^&*()_+|\=-0987654321`~");
    while (k != NULL)
    {
        len += strlen(k);
        k = strtok(NULL, " ,./?!@#$%^&*()_+|\=-0987654321`~");
    }
 
    cout << "Количество букв, не считая символов-разделителей = " << len << endl;
    delete[] s;
    system("pause");
}
1
7438 / 5030 / 2892
Регистрация: 18.12.2017
Сообщений: 15,692
02.04.2018, 20:48
для латиницы:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <iostream>
using namespace std;
 
int main()
{
    char s[256];
    cout << "String: ";
    cin.getline(s, 256);
    int k=0;
    for (int i = 0; s[i] != '\0'; i++)
    if (((int)s[i]>64 &&(int)s[i]<91)||((int)s[i]>96 &&(int)s[i]<123)) k++;
    cout <<k<<endl;    
    system("pause");
    return 0;
}
1
0 / 0 / 0
Регистрация: 02.04.2018
Сообщений: 7
02.04.2018, 20:49  [ТС]
Благодарю, всё-таки не совсем понятен данный код, можете объяснить?:
C++
1
2
3
4
5
while (k != NULL)
    {
        len += strlen(k);
        k = strtok(NULL, " ,./?!@#$%^&*()_+|\=-0987654321`~");
    }
0
 Аватар для _SayHello
874 / 535 / 175
Регистрация: 30.07.2015
Сообщений: 1,739
02.04.2018, 21:01
wowa97zxcv,
C++
1
2
3
4
5
6
    char *k = strtok(s, " ,./?!@#$%^&*()_+|\=-0987654321`~"); //получили указатель на первую лексему до первого разделителя
    while (k != NULL) // если к ==NULL значит дошли до конца строки 
    {
        len += strlen(k); //прибавили длину найденной лексемы к общей длине
        k = strtok(NULL, " ,./?!@#$%^&*()_+|\=-0987654321`~"); //идем по строке дальше до следующей лексемы
    }
1
0 / 0 / 0
Регистрация: 02.04.2018
Сообщений: 7
02.04.2018, 21:09  [ТС]
Спасибо!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
02.04.2018, 21:09
Помогаю со студенческими работами здесь

Дана строка. Подсчитать, сколько в ней букв r, k, t
Дана строка. Подсчитать, сколько в ней букв r, k, t.

Дана строка. Подсчитать, сколько в ней букв r, k, t
Строку запрашивать у пользователя и подсчитывать буквы нужно несколько раз подряд, не выходя из программы. вот мой код: ...

Дана строка. Подсчитать, сколько в ней букв r, k, t
Дана строка. Подсчитать, сколько в ней букв r, k, t.

Дана фраза. Определить, сколько в ней букв
Дана фраза. Определить, сколько в ней букв( к буквам не относятся символы, разделители, пробелы, точки и т.д.). Помогите пожалуйста.

Дана фраза. Определить, сколько в ней букв
Дана фраза. Определить, сколько в ней букв (к буквам не относятся символы-разделители - пробелы, точки, тире, запятые и т. д.)?


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь(не выше 3-го порядка) постоянного тока с элементами R, L, C, k(ключ), U, E, J. Программа находит переходные токи и напряжения на элементах схемы классическим методом(1 и 2 з-ны. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru