В
Все
Х
Химия
В
Видео-ответы
А
Алгебра
Г
Геометрия
О
ОБЖ
Д
Другие предметы
У
Українська література
Р
Русский язык
Б
Беларуская мова
У
Українська мова
Э
Экономика
Ф
Физика
М
Математика
Ф
Французский язык
Г
География
И
Информатика
М
МХК
О
Окружающий мир
П
Психология
Н
Немецкий язык
О
Обществознание
П
Право
И
История
М
Музыка
Л
Литература
Қ
Қазақ тiлi
Б
Биология
А
Английский язык
aassdfgb
aassdfgb
27.02.2023 09:37 •  Информатика

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

Ответ:
GloomyCat231
GloomyCat231
06.10.2020 23:35
// на вход в командной строке нужно подать название файла с текстом, в стандартном потоке указанный символ
#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);
}
0,0(0 оценок)
Ответ:
maksytova09
maksytova09
06.10.2020 23:35
#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;
}
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?