1 / 1 / 0
Регистрация: 29.02.2020
Сообщений: 229

Подсчет встречаемости букв и цифр

07.11.2020, 15:10. Показов 3506. Ответов 32
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Просьба разобрать каждую строчку кода(пояснить через комментарий //):
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
32
33
34
35
36
37
38
39
40
41
42
#include <iostream>
#include <string>
#include <fstream>
#include <map>
 
using namespace std;
struct chcp1251 {
    static bool is_alpha(char ch) {
        return (ch >= -64 && ch <= -1)
            || ch == -88
            || ch == -72
            || (ch >= 65 && ch <= 97)
            || (ch >= 90 && ch <= 122);
    }
    static bool is_digit(char ch) {
        return ch >= 48 && ch <= 57;
    }
};
int main() {
 
    system("chcp 1251 > nul");
    map<char, size_t> letters;
    map<char, size_t> digits;
 
    ifstream file("text.txt");
    if (file.is_open()) {
        char ch;
        while (ch = file.get()) {
            if (file.eof()) break;
            if (chcp1251::is_alpha(ch)) ++digits[ch];
            if (chcp1251::is_digit(ch)) ++letters[ch];
        }
        file.close();
    }
 
    else puts("Файл text.txt не найден!");
    cout << "Введенные числа:" << endl;
    for (auto [key, value] : letters) cout << key << " - " << value << '\n';
    wcout.put(L'\n');
    cout << "Введенные буквы:" << endl;
    for (auto [key, value] : digits) wcout << key << " - " << value << '\n';
    system("pause > nul");
Задача(вдруг кому будет удобней по ней объяснять):
Проанализировать файл с текстом. Определить частоту повторяемости каждой буквы алфавита и каждой цифры в тексте.
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
07.11.2020, 15:10
Ответы с готовыми решениями:

Подсчет цифр и букв
Народ, есть такая проблема! Мне нужно написать прогу, которая считывает текст из файла и определяет чего больше: цифр или букв. Я сделал...

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

подсчет букв (цифр) в тексте на СИ++ Builder
ничего не нашел в интернете по данной теме. Задание такое: Поместить на форму компоненты &lt;RadioGroup&gt; и два &lt;RadioButton&gt;...

32
518 / 410 / 188
Регистрация: 08.04.2013
Сообщений: 1,751
11.11.2020, 06:40
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от K1MeR Посмотреть сообщение
посмотрел,но ошибки не вижу
подсказка 90 и 97
0
7438 / 5030 / 2892
Регистрация: 18.12.2017
Сообщений: 15,692
11.11.2020, 09:43
K1MeR, какое условие должно быть записано для кодов больших латинских букв ?
0
1 / 1 / 0
Регистрация: 29.02.2020
Сообщений: 229
11.11.2020, 14:47  [ТС]
Yetty, Задача:
Проанализировать файл с текстом. Определить частоту повторяемости каждой буквы алфавита и каждой цифры в тексте.
0
7438 / 5030 / 2892
Регистрация: 18.12.2017
Сообщений: 15,692
11.11.2020, 15:44
K1MeR, ещё раз. посмотрите на таблицу ASCII и ответьте на вопрос:
Цитата Сообщение от Yetty Посмотреть сообщение
какое условие должно быть записано для кодов больших латинских букв ?
Добавлено через 4 минуты
или может так вопрос будет понятнее:

в каком диапазоне находятся коды латинских букв (от какого числа до какого числа) ?
1
1 / 1 / 0
Регистрация: 29.02.2020
Сообщений: 229
11.11.2020, 16:06  [ТС]
Yetty, 65-90 - большие
97-122 - маленькие
0
7438 / 5030 / 2892
Регистрация: 18.12.2017
Сообщений: 15,692
11.11.2020, 16:40
Цитата Сообщение от K1MeR Посмотреть сообщение
65-90 - большие
97-122 - маленькие
отлично теперь посмотрите на строки 12,13 и ответьте на вопрос: какие символы не являющиеся буквами программа подсчитает как буквы ?

затем исправьте ошибки в строках 12,13
0
1 / 1 / 0
Регистрация: 29.02.2020
Сообщений: 229
12.11.2020, 14:09  [ТС]
Yetty,
C++
1
2
|| (ch >= 65 && ch <= 90)
|| (ch >= 97 && ch <= 122);
верно?
0
7438 / 5030 / 2892
Регистрация: 18.12.2017
Сообщений: 15,692
12.11.2020, 14:32
Цитата Сообщение от K1MeR Посмотреть сообщение
верно?
да

Добавлено через 5 минут
чтобы не искать коды символов в таблице ASCII как вариант можно записывать так:
C++
1
2
|| (ch >= 'a' && ch <= 'z')
|| (ch >= 'A' && ch <= 'Z');
в строке 16:
C++
1
ch >= '0' && ch <= '9';
но таблицу сохраните
0
1 / 1 / 0
Регистрация: 29.02.2020
Сообщений: 229
12.11.2020, 15:28  [ТС]
Yetty, спасибо большое!Помогли разобраться.А еще есть ошибки в коде?

Добавлено через 2 минуты
Yetty, а что обозначает этот кусочек?
C++
1
2
3
return (ch >= -64 && ch <= -1)
            || ch == -88
            || ch == -72
0
7438 / 5030 / 2892
Регистрация: 18.12.2017
Сообщений: 15,692
12.11.2020, 15:32
Цитата Сообщение от K1MeR Посмотреть сообщение
что обозначает этот кусочек?
разве сложно догадаться ?
0
1 / 1 / 0
Регистрация: 29.02.2020
Сообщений: 229
14.11.2020, 11:54  [ТС]
Yetty, просто понять не могу как не пытаюсь зачем он нужен
0
7438 / 5030 / 2892
Регистрация: 18.12.2017
Сообщений: 15,692
14.11.2020, 12:11
Цитата Сообщение от K1MeR Посмотреть сообщение
просто понять не могу как не пытаюсь
если функция распознаёт буквы, а латинские учитаны в строках 12-13 что же написано в строках повыше ?
0
1 / 1 / 0
Регистрация: 29.02.2020
Сообщений: 229
15.11.2020, 13:44  [ТС]
Yetty, ну 48-57 это цифры,а что со знаком "-" не могу понять.может это исключения какие-нибудь со знаком "-"?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
15.11.2020, 13:44

Подсчет количества цифр, букв в textbox-ах
Даны 3 texbox. В 1 водятся цифры во втором буквы в 3 их общее количества без пробела.Как это сделать уже сижу который час помогите кто...

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

Подсчет встречаемости слова и его синонимов из файла
Имеется файл такой структуры:

Дан текст. Замена латинских букв на "!", замена гласных русских букв на "-", подсчёт цифр в тексте
Условие. Написать программу на языке Паскаль (можно и в среде Delphi 7.0), реализующую решение задачи с использованием структурированного...

Queue: подсчет и печать на экран частоты встречаемости элементов объекта
Здравствуйте! Прошу сделайте задачу, и если можете с пояснениями шагов, очень прошу Создайте функцию, принимающую в качестве...


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

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

Новые блоги и статьи
ИИ и человечность
kumehtar 21.07.2026
Забавно, что общаясь с ИИ, я замечаю, насколько он высказывается умно, и насколько верит в людей. Он умеет прощать. Он знает как отвечать не обесценивая опыт других людей, даже если сам не верит. Он. . .
Нейтральные знания ..., ... чистая наука. Пока что-то проходит модерацию на Хабре, стоит развить мысль ...
Hrethgir 20.07.2026
К таким радикальным взглядам я конечно в той публикации не приходил, но чтобы скоротать вечер, решил углубиться немного. 1. Почему показания термометра заряжены целью? Цель заложена в самом. . .
Установка нескольких штампов электронной подписи в строго определенных местах файла docx
ВладимирСамохин 19.07.2026
(В!) Работа с Электронной подписью - это неотъемлемая часть современного документооборота. Но что делать, если нужно поставить несколько штампов электронной подписи в строго определенных местах. . .
сукцессия 35. Научная статья о проделанной работе
anaschu 19.07.2026
Написал в формате латекс и пдф
Вангую, что это не пройдёт модерацию, и на неделе я запущу свой сервер.
Hrethgir 19.07.2026
Эта публикация сейчас в песочнице и ждёт приглашения. https:/ / habr. com/ ru/ sandbox/ 295048/ По ссылке 403. Не очень информативно такую ссылку постить. Запись от Usaga размещена Сегодня в 06:46 . . .
сукцессия 33. открытые вопросы от клауде
anaschu 19.07.2026
"Что накопилось за эту часть А — тринадцать правок, из которых шесть пришли из ваших вопросов и каждая оказалась реальной ошибкой, а не калибровкой: односторонний симбиоз, отсутствующий листопад,. . .
32 сукцессия
anaschu 19.07.2026
сукцессия 28‑мерное ядро стабилизировано Коллеги, фиксирую разбор инженерных правок и их изоморфную проекцию на экономику, меметику и половой отбор. Модель теперь не «подкручивает» сходимость —. . .
сукцессия 31: модель микоризы - это модель ещё нескольких явлений, социальных и экономических
anaschu 18.07.2026
Теория «Всего»: апдейт v1. 1. 2 — 28‑мерное ядро стабилизировано Коллеги, фиксирую разбор инженерных правок и их изоморфную проекцию на экономику, меметику и половой отбор. Модель теперь не. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru