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

Подсчитать количество знаков пунктуации в последовательности символов

10.09.2015, 18:25. Показов 1863. Ответов 18
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Написать программу, которая подсчитывает количество символов пунктуации в рядке символов, которые вводят с клавиатуры.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
10.09.2015, 18:25
Ответы с готовыми решениями:

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

Подсчитать количество знаков препинания в строке символов
код програми: #include <iostream.h> #include <stdio.h> #include <ctype.h> #include <conio.h>...

Посчитать количество знаков препинания в последовательности символов
С клавиатуры вводится последовательность символов, заканчивающаяся символом "#". Посчитайте...

Подсчитать количество знаков, цифр, входящих в строку символов
Подсчитать количество знаков, цифр, входящих в строку символов. И вывести на экран отдельно...

18
7793 / 6560 / 2984
Регистрация: 14.04.2014
Сообщений: 28,672
10.09.2015, 18:26 2
Рядок - это какой-то новый термин? Всегда была строка или последовательность.
0
Kerry_Jr
10.09.2015, 18:29
  #3

Не по теме:

Цитата Сообщение от nmcf Посмотреть сообщение
Рядок
google Translate рулит: рядок (укр.) - строка (рус.)

0
nmcf
10.09.2015, 18:31
  #4

Не по теме:

Всё написал по-русски кроме рядка?

0
805 / 532 / 158
Регистрация: 27.01.2015
Сообщений: 3,017
Записей в блоге: 1
10.09.2015, 18:34 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 <iomanip>
#include <cctype>
#include <windows.h>
using namespace std;
 
const short LIM(250);
 
int main(void)
{
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
    char getStr[LIM];
    cin.getline(getStr, LIM);
    int count(0);
    for (int i(0); getStr[i];)
        if (ispunct(getStr[i++]))
            count++;
    cout << count << endl;
    system("pause");
    return 0;
}
Добавлено через 1 минуту

Не по теме:

nmcf, может он имел в виду числовой рядок? :)

0
0 / 0 / 0
Регистрация: 03.01.2015
Сообщений: 10
10.09.2015, 18:39  [ТС] 6
Иммел в виду строку, прошу прощения, говорю по украински.
0
Kerry_Jr
10.09.2015, 18:52
  #7

Не по теме:

Цитата Сообщение от nmcf Посмотреть сообщение
Всё написал по-русски кроме рядка?
Цитата Сообщение от Ferrari F1 Посмотреть сообщение
nmcf, может он имел в виду числовой рядок?
и награда достается....
Цитата Сообщение от Reykjavik Посмотреть сообщение
Иммел в виду строку
дааа
Цитата Сообщение от Kerry_Jr Посмотреть сообщение
google Translate рулит: рядок (укр.) - строка (рус.)
:yahoo:

0
Ferrari F1
10.09.2015, 19:16
  #8

Не по теме:

Kerry_Jr, черт, опять ты мне нос утер :(

0
0 / 0 / 0
Регистрация: 03.01.2015
Сообщений: 10
10.09.2015, 19:20  [ТС] 9
Ответа на вопрос пока нету...
0
805 / 532 / 158
Регистрация: 27.01.2015
Сообщений: 3,017
Записей в блоге: 1
10.09.2015, 19:24 10
Цитата Сообщение от Reykjavik Посмотреть сообщение
Ответа на вопрос пока нету...
я тебе код кинул. что не так?
0
Эксперт PHP
3106 / 2591 / 1219
Регистрация: 14.05.2014
Сообщений: 7,236
Записей в блоге: 1
10.09.2015, 19:31 11
Reykjavik, может этот подойдет
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
#include <string>
#include <algorithm>
 
int main()
{
    std::string text;
    int count {0};
    
    std::getline(std::cin, text);
    
    for_each(text.begin(), text.end(), [&count](char c){
        if (ispunct(c)) ++count;
    });
    
    std::cout << count << std::endl;
    
    return 0;
}
0
7793 / 6560 / 2984
Регистрация: 14.04.2014
Сообщений: 28,672
10.09.2015, 19:42 12
Нужно локаль русскую устанавливать, для корректной работы ispunct().
1
805 / 532 / 158
Регистрация: 27.01.2015
Сообщений: 3,017
Записей в блоге: 1
10.09.2015, 19:44 13
nmcf, так может он по-украински пишет? тогда ему нужно подключать украинскую локаль?
0
7793 / 6560 / 2984
Регистрация: 14.04.2014
Сообщений: 28,672
10.09.2015, 19:46 14
Это зависит от кодовой страницы. Для 1251 нужна русская локаль. А особой кодовой страницы для украинского нет.
0
805 / 532 / 158
Регистрация: 27.01.2015
Сообщений: 3,017
Записей в блоге: 1
10.09.2015, 19:48 15
Лучший ответ Сообщение было отмечено Reykjavik как решение

Решение

nmcf, Reykjavik, тогда я поправил =)
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 <iomanip>
#include <cctype>
#include <windows.h>
using namespace std;
 
const short LIM(250);
 
int main(void)
{
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
    setlocale(0, "");
    char getStr[LIM];
    cin.getline(getStr, LIM);
    int count(0);
    for (int i(0); getStr[i];)
        if (ispunct(getStr[i++]))
            count++;
    cout << count << endl;
    system("pause");
    return 0;
}
Про локали не знал. nmcf, спасибо за инфу.
1
Эксперт PHP
3106 / 2591 / 1219
Регистрация: 14.05.2014
Сообщений: 7,236
Записей в блоге: 1
10.09.2015, 20:05 16
Цитата Сообщение от nmcf Посмотреть сообщение
Нужно локаль русскую устанавливать
Насколько я помню, во всех кодовых страницах у знаков препинания одни и те же коды. Локаль нужна для isalpha и isalnum, а ispunct и issapce вполне корректно отрабатывают без локали. По крайней мере я проверил для 1251 и 866 - все работает как с кириллицей, так и с латиницей.
0
7793 / 6560 / 2984
Регистрация: 14.04.2014
Сообщений: 28,672
10.09.2015, 20:08 17
Я же не сказал, что будет полностью не верно. Есть общие знаки как точка и запятая, а есть специфические. Прогони ispunct() по всем кодам с русской локалью и с "C", увидишь разницу.
0
7793 / 6560 / 2984
Регистрация: 14.04.2014
Сообщений: 28,672
10.09.2015, 20:18 18
Вот:
Миниатюры
Подсчитать количество знаков пунктуации в последовательности символов  
0
7793 / 6560 / 2984
Регистрация: 14.04.2014
Сообщений: 28,672
10.09.2015, 20:26 19
Не все символы верно отображаются из-за преобразования 1251->866.
0
10.09.2015, 20:26
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
10.09.2015, 20:26
Помогаю со студенческими работами здесь

Подсчитать количество символов и знаков препинания в текстовом файле
Дан файл подсчитать количество всех символов и символов ,.!?

Посчитать количество знаков пунктуации в строке
Напишите программу, которая считает знаки пунктуации в символьной строке. К знакам пунктуации...

Посчитать количество знаков пунктуации во введенной строке
Эти символы (: ; ? ! , . ) Язык C

Предложения, содержащие максимальное количество знаков пунктуации
Написать программу, которая считывает текст из файла и выводит на экран предложения, содержащие...


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

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