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

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

Войти
Регистрация
Восстановить пароль
 
deeonia58
0 / 0 / 0
Регистрация: 10.09.2013
Сообщений: 6
#1

Подсчитать количество знаков препинания в строке - C++

19.09.2013, 15:13. Просмотров 1270. Ответов 8
Метки нет (Все метки)

Подсчитать количество знаков препинания в строке. Строка - "Осень,,Падают листья,,зима,,!". Вывести строку на экран и количество знаков препинания.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.09.2013, 15:13
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Подсчитать количество знаков препинания в строке (C++):

В строке подсчитать количество знаков препинания - C++
В общем задание обстоит так:Ввести с экрана строку. В строке подсчитать количество знаков препинания (запятая,точка, восклицательный знак)....

Подсчитать количество знаков препинания в строке. - C++
Подсчитать количество знаков препинания в строке.

Подсчитать количество содержащихся в строке знаков препинания - C++
Дана строка-предложение на русском языке. Подсчитать количество содержащихся в строке знаков препинания.

Подсчитать в строке количество гласных, согласных, знаков препинания, пробелов - C++
Подсчитать в строке количество гласных, согласных, знаков препинания, пробелов, общее количество символов, из них -цифровых символов. ...

Подсчитать сколько знаков препинания в данной строке - C++
Помогите пожалуйста выполнить задачу: Вводится строка. Подсчитать сколько знаков препинания в данной строке. мой код: #include...

Найти количество знаков препинания в строке - C++
задана строка.найти количество знаков препинания в строке C++

8
SatanaXIII
Супер-модератор
Эксперт С++
5650 / 2694 / 252
Регистрация: 01.11.2011
Сообщений: 6,588
Завершенные тесты: 1
19.09.2013, 15:28 #2
__7
0
Algoritmer
155 / 95 / 13
Регистрация: 07.03.2013
Сообщений: 484
Записей в блоге: 1
19.09.2013, 15:32 #3
Читай http://valera.asf.ru/cpp/scpp/cppd_string.htm

Должно получиться что-то типа:
C
1
2
3
4
5
6
7
8
9
10
11
12
void main()
{
    char str[100];
    cin.getline(str);
    int punctCount=0;
    int len=strlen(str);
   for(int i=0;i<len;i++)
   {
       if(ispunct(str[i]) punctCount++;
   }
   cout<<"Punct count = "<<punctCount;
}
0
Ouroboros-SK
60 / 60 / 21
Регистрация: 08.09.2013
Сообщений: 187
Записей в блоге: 1
19.09.2013, 15:38 #4
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <iostream>
#include <string>
 
int main()
{
    setlocale( LC_ALL,"Russian" );
    std::string str = "Осень,,Падают листья,,зима,,!";
    int num = 0;
    for (int i = 0; i < str.size(); i++)
        if ((str[i] == ',') /*Тут добавлять условия используя - || */ )
            num++;
    std::cout << num << std::endl << str;
 
    return 0;
}
0
Algoritmer
155 / 95 / 13
Регистрация: 07.03.2013
Сообщений: 484
Записей в блоге: 1
19.09.2013, 15:41 #5
в строке 12 пропустил скобку: должно быть
C
1
 if(ispunct(str[i])) punctCount++;
Добавлено через 2 минуты
Ouroboros-SK, знак препинания - это не только запятая, иначе было бы условие подсчитать количество запятых. Нужно использовать функцию, проверяющую, является ли символ знаком препинания, такую как ispunct (смотри мой код)
0
deeonia58
0 / 0 / 0
Регистрация: 10.09.2013
Сообщений: 6
19.09.2013, 15:44  [ТС] #6
спасибо большое))
0
alsav22
5429 / 4824 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
19.09.2013, 15:46 #7
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 <cstdlib>
 
using std::cout;
using std::endl;
 
int main() 
{
    setlocale(0, "");
    
    char *str = "Осень,,Падают листья,,зима,,!";
    int len = strlen(str);
    int punctCount = 0;
    for(int i = 0; i < len; i++)
    {
        if(ispunct((unsigned char)str[i])) punctCount++;
    }
    cout << str << endl;
    cout << "Punct count = " << punctCount << endl;
 
    system("pause");
    return 0;
}
1
Ouroboros-SK
60 / 60 / 21
Регистрация: 08.09.2013
Сообщений: 187
Записей в блоге: 1
19.09.2013, 15:48 #8
Ну я же написал в комментариях, все что нужно. Далее добавить нужные условия.
if ((str[i] == ',') /*Тут добавлять условия используя - || */ )
0
Algoritmer
155 / 95 / 13
Регистрация: 07.03.2013
Сообщений: 484
Записей в блоге: 1
19.09.2013, 15:59 #9
Цитата Сообщение от Ouroboros-SK Посмотреть сообщение
Ну я же написал в комментариях, все что нужно. Далее добавить нужные условия.
if ((str[i] == ',') /*Тут добавлять условия используя - || */ )
Зачем писать кучу ИЛИ если есть специальная функция. И к тому же, вдруг ты пропустишь какой-то знак пунктуации...
1
19.09.2013, 15:59
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.09.2013, 15:59
Привет! Вот еще темы с ответами:

Считать из файла, подсчитать количество знаков препинания, записать в файл - C++
Ребят, помогите пожалуйста, 29 июня экзамен по &quot;Основы программирования&quot;,кто сколько сможет сделать задач, тем всей группой поставим &quot;+&quot;...

Посчитать количество знаков препинания в строке. Чем заменить break? - C++
Чем можно заменять первый break в первом пункте меню, стобы программа работала нормально? надо посчитать количество знаков препинания в...

Выполнить статистику текста: подсчитать количество букв, знаков препинания, слов, предложений, абзацев. - C++
1. Дан текстовый файл. Выполнить статистику текста: подсчитать количество букв, знаков препинания, слов, предложений, абзацев. ...

Кол-во знаков препинания и букв в строке - C++
Требуется подсчитать кол-во букв и знаков препинания в строке, но программа упорно не хочет считать буквы, выдаёт кол-во равное нулю. В чём...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Опции темы

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