Форум программистов, компьютерный форум CyberForum.ru

Частотный анализ текста (пословный) - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Builder В каком заголовочном файле находится delay (BCB6)? http://www.cyberforum.ru/cpp-beginners/thread109341.html
В справочной системе C++ Builder 6 Нашел вот этот пример использования функции clock и выдает ошибку не находит функцию delay. Это глюк разроботчиков или я чето путаю? /* clock example */ #include <time.h> #include <stdio.h> #include <dos.h> int main(void) {
C++ Цифры и числа! Для заданного М вывести все: а) квадраты натуральных чисел, не превосходящие М; б) факториалы натуральных чисел, не превосходящие М; в) целые степени данного числа К, не превосходящие М. не успеваю к зачёту помогите сделать есть небольшой набросок выдаёт ахинею( Добавлено через 20 минут Для заданного М вывести все: а) квадраты натуральных чисел, не превосходящие М; б) факториалы... http://www.cyberforum.ru/cpp-beginners/thread109337.html
C++ составить блок схемы к программам
1) При температуре воздуха зимой до -20 ◦ С потребления угля тепловой станцией составляет 50 тонн в день. При температуре воздуха от -20 ◦ С до -30 ◦ С ежедневное потребление угля увеличивается на 5 тонн; если же температура воздуха ниже -30 ◦ С, то потребление угля увеличивается еще на 7 тонн. Определить необходимое количество угля, потребляемого тепловой станцией при заданной температуре...
C++ Найти квадратную подматрицу максимального размера
Ввести матрицу, которая состоит из 0 и 1. Найти в ней квадратную подматрицу максимального размера, элементы которой имеют значение 1. Добавлено через 22 часа 27 минут
C++ посмотрите задания такого рода http://www.cyberforum.ru/cpp-beginners/thread109331.html
посмотрите задания такого рода
C++ В строке символов определить слово с максимальным количеством согласных и переставить его буквы в соответствии с алфавитом В строке символов определить слово с максимальным количеством согласных и переставить его буквы в соответствии с алфавитом. Каждую букву на парной позиции слова напечатать большими буквами. Добавлено через 22 часа 35 минут Помогоите, пожалуйста. подробнее

Показать сообщение отдельно
Nameless One
Эксперт С++
 Аватар для Nameless One
5753 / 3402 / 255
Регистрация: 08.02.2010
Сообщений: 7,393
27.03.2010, 16:01     Частотный анализ текста (пословный)
Я так понял, что относительная частота - это отношение числа вхождений слова в строку к общему числу слов в строке:
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
#include <iostream>
#include <map>
#include <string>
#include <sstream>
#include <iomanip>
 
int main()
{
    setlocale(LC_ALL, "Russian");
    std::string delim(".:,;()-?!");//Разделители
    std::string string;
    //Ассоциативный контейнер, хранит пары (слово, число вхождений)
    std::map<std::string, size_t> freq;
    std::cout << "Введите строку" << std::endl;
    std::getline(std::cin, string);
    size_t str_count=0;//Число слов
    //Замена символов-разделителей из строки на пробел
    size_t index;
    while((index=string.find_first_of(delim))!=std::string::npos)
        string[index]=' ';
    //Разбиение строки на слова, помещение слов в ассоциативный контейнер и подсчет числа вхождений слова в строку
    std::stringstream ss(string);
    while(ss >> string)
    {
        ++str_count;
        freq[string]++;
    }
    std::cout << "Относительная частота вхождения каждого слова:" << std::endl;
    for(std::map<std::string, size_t>::iterator iter=freq.begin(); iter!=freq.end(); ++iter)
    {
        double p=static_cast<double>(iter->second)/static_cast<double>(str_count)*100;
        std::cout << "\'" << iter->first << "\': " << std::setprecision(4) << p << "%" << std::endl;
    }
    system("pause");
    return 0; 
}
 
Текущее время: 14:37. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru