С Новым годом! Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.95/21: Рейтинг темы: голосов - 21, средняя оценка - 4.95
10 / 10 / 4
Регистрация: 03.10.2010
Сообщений: 350

Предложение, в котором больше всего знаков препинания

09.04.2011, 13:14. Показов 4319. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день. Нужно написать программу, которая читает текст из файла и выводит предложения(е), где больше всего знаков препинания.

Подскажите, пожалуйста, как попроще сделать. А то никак не могу сообразить.

Я придумал вот, что:
1) Увеличивать счетчик знаков препинания, когда они встречаются.
2) Ввести 2 переменные максимума знаков (для предыдущего предложения и текущего).
3) Если нашелся конец предложения (! ? .), то записываем его в другой файл (пока хотя бы в другой файл, потом уже с выводом разбираться).

Вот как-то так. Только я не могу связать эти 3 пункта воедино, помогите, пожалуйста. Третий пункт нужно делать, когда предложение оказалось с максимальным количеством знаком, т.е. (max1 < max2), или же (max1 = max2), если в текущем и предыдущем предложениях одинаковое кол-во знаков. Но как сделать так, чтобы max1 соответствовало предыдущему, а max2 - текущему предложению? Ведь компилятор этого не знает.
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
09.04.2011, 13:14
Ответы с готовыми решениями:

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

Определить, какой из знаков препинания встречается чаще всего и реже всего
ребят,помогите исправить ошибки.Есть код.Нужно найти какой из знаков препинания встречается мах и мин кол-во раз. #include...

Программа для вывода на экран знаков препинания(с указанием их АСКИ-кода) знаков препинания
Напишите и отладьте программу для вывода на экран(с указанием их АСКИ -кода) знаков препинания

2
 Аватар для igorrr37
2872 / 2019 / 991
Регистрация: 21.12.2010
Сообщений: 3,743
Записей в блоге: 9
09.04.2011, 17:18
Лучший ответ Сообщение было отмечено Gooman как решение

Решение

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
#include<iostream>
#include<fstream>
#include<algorithm>
#include<iterator>
#include<cctype>
#include<string>
#include<cstring>
 
int main(){
    std::fstream fs("1.txt");
    if(!fs){std::cerr<<"File not found\n"; return 1;}
    std::string text((std::istreambuf_iterator<char>(fs)), std::istreambuf_iterator<char>()), delims="!?.";
    int couPunct=0, couTmp;
    std::vector<std::string> sents;
    for(char* p=strtok(&text[0], &delims[0]); p; p=strtok(NULL, &delims[0])){
        while(isspace(*p))++p;
        couTmp=std::count_if(p, p+strlen(p), [](char val){return ispunct(val);});
        if(couTmp==couPunct){
            sents.push_back(p);
        }
        else if(couTmp>couPunct){
            couPunct=couTmp;
            sents.clear();
            sents.push_back(p);
        }
    }
    std::cout<<couPunct<<"\n";
    std::copy(sents.begin(), sents.end(), std::ostream_iterator<std::string>(std::cout, "\n"));
    fs.close();
    return 0;
}
1
10 / 10 / 4
Регистрация: 03.10.2010
Сообщений: 350
09.04.2011, 17:46  [ТС]
igorrr37, а я таких функций даже и не знаю, вообще непонятно, что делает программа Мне бы обычный с.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
09.04.2011, 17:46
Помогаю со студенческими работами здесь

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

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

Определить сложность каждого предложения и всего текста по количеству слов и количеству знаков препинания
ТЗ: Определить сложность каждого предложения и всего текста по количеству слов и количеству знаков препинания. Сложность всего текста...

Написать метод, принимающий значение True, если в строке больше букв, чем знаков препинания
Написать метод, принимающую значение True, если в строке больше букв, чем знаков препинания. Мой код: #include &lt;iostream&gt; ...

Вывести на экран предложение, имеющее больше всего слов
Помогите написать программу Вот условие: Нужно определить количество предложений в тексте(текст вводить самому надо).Вывести на экран...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и напряжениями. Надо найти токи в ветвях. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и решает её. Последовательность действий:. . .
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение. И на уровне агентов добавится между грибами или бактериями взаимодействий. До того я пробовал подход через многомерные массивы,. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru