Проанализировать файл с текстом. Определить частоту повторяемости каждой буквы алфавита и каждой цифры в тексте.
Написать алгоритмическую часть по этой задаче:
- Алгоритмическая часть
1.1. Назначение в области применения
1.1.1. Содержательная формулировка задачи
1.1.2. Математическая формулировка задачи
1.2. Поиск аналогов
Код:
#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");
}