С++ ! один из методов криптографии заключается в измерении частоты появляения буквы в тексте. необходимо написать программу, вычисляющую какую часть текста составляет указанная буква. т.е. отношения количества встречания одной буквы к количеству букв в тексте.
281
433
Ответы на вопрос:
#include < iostream> #include < map> using namespace std; int main() { string text = { "hello my name is paperman" }; // наш текст string word = { "" }; // слово для сравнения cin > > word; // просим ввести сравниваемую букву map< char, unsigned> key_map; for(auto i: text) { if (word.find(tolower(i)) ! = string: : npos) { ++key_map[tolower(i)] ; } } for(auto & pair : key_map) { cout < < "char: " < < pair.first < < " | count: " < < pair.second < < endl ; } return 0; }
// на вход в командной строке нужно подать название файла с текстом, в стандартном потоке указанный символ #include < cstdio> int main(int argc, char **argv) { char g_ch = getchar(); file *fin = fopen(argv[1], "rt"); int count = 0; int count_all = 0; char ch = 0; while ((ch = fgetc(fin)) ! = eof) { if (ch == g_ch) { count++; } count_all++; } printf("%f\n", 1. * count / count_all); return fclose(fin); }
Популярно: Информатика
-
Ивангай22866601.07.2020 00:22
-
getmanev18.05.2020 17:49
-
BOG555515.01.2021 06:49
-
Роззе26.05.2022 23:28
-
zagudaevaa18.08.2022 23:16
-
LEVATOR22.05.2020 05:57
-
Windows9504.11.2021 10:28
-
Maestror24.04.2022 17:42
-
ananas694725.02.2020 16:54
-
lisska208.02.2023 07:38