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

Строка: посчитать частоту появления каждого символа - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 26, средняя оценка - 4.65
ArchakovH
0 / 0 / 0
Регистрация: 28.04.2012
Сообщений: 9
28.04.2012, 13:00     Строка: посчитать частоту появления каждого символа #1
Для произвольного текста на произвольном языке с учетом регистра посчитать частоту появления каждого символа.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.04.2012, 13:00     Строка: посчитать частоту появления каждого символа
Посмотрите здесь:

Как подсчитать вероятность появления каждого символа в тексте. C++
C++ Строка вводится с клавиатуры. В данной строке вставить пробел после каждого символа
Дана строка символов и некоторый символ sym. Сформируйте новую строку, вставив после каждого вхождения символа sym запятую. C++
C++ Массивы. Найти частоту появления каждого из m элементов, наиболее часто встречающиеся (m << n) в процентах
Даны строка S, символ C и строка S0. Необходимо после каждого вхождения символа C в строку S вставить строку S0 C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
zitxbit
Master C/C++
 Аватар для zitxbit
86 / 738 / 75
Регистрация: 11.04.2012
Сообщений: 971
28.04.2012, 13:10     Строка: посчитать частоту появления каждого символа #2
Найти самую часто встречаемую и самую редко встречаемую буквы во фрагменте произвольного текста
-=ЮрА=-
Заблокирован
Автор FAQ
28.04.2012, 13:23     Строка: посчитать частоту появления каждого символа #3
ArchakovH, язык какой Си или С++?
ArchakovH
0 / 0 / 0
Регистрация: 28.04.2012
Сообщений: 9
28.04.2012, 13:37  [ТС]     Строка: посчитать частоту появления каждого символа #4
Язык C++.
-=ЮрА=-
Заблокирован
Автор FAQ
28.04.2012, 13:58     Строка: посчитать частоту появления каждого символа #5
Цитата Сообщение от ArchakovH Посмотреть сообщение
Язык C++.
- Вот простенько с доп буфером
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
#include <iostream>
using namespace std;
 
int main()
{
    int i, j, n;
    char text[1024] = {0};//Áóäåò ñîäåðæГ*ГІГј Г*Г*Гё ГІГҐГЄГ±ГІ
    char find[1024] = {0};//Áóäåò ñîäåðæГ*ГІГј Г°Г*çëè÷Г*ûå ñèìâîëû ГЁГ§ text
    char *sub       = NULL;
    cout<<"Enter text less than 1024 chars\n";
    cin.getline(text,1023);
    int len = strlen(text);//ÓçГ*Г*ëè äëèГ*Г*Гі ñòðîêè 
    //ГІ.ГҐ îïðåäåëèëè îáùåå ÷èñëî ñèìîâëîâ
    for(j = i = 0; text[i] != '\0'; i++)
    {
        if(!strchr(find,text[i]))
        {
            find[j] = text[i];
            j = j + 1;
        }
    }
    cout<<"Frequency of chars in text\n";
    for(n = j = 0; find[j] != '\0'; j++)
    {
        if(sub = strchr(text,find[j]))
        {
            cout<<"char : "<<find[j]<<" ";
            for(n = 1; sub != NULL; n++)
            {
                if(sub + 1)
                    sub = strchr(sub + 1,find[j]);
            }
            cout<<"count : "<<n<<" "
                <<"freq  : "<<(1.0*n)/len<<endl;
        }
    }
    system("pause");
    return 0;
}
Миниатюры
Строка: посчитать частоту появления каждого символа  
andypanda
3 / 3 / 0
Регистрация: 24.06.2010
Сообщений: 43
06.12.2012, 05:00     Строка: посчитать частоту появления каждого символа #6
Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
- Вот простенько с доп буфером
Можно как нибудь модернизировать что бы подавалось из тхт файлика?
Yandex
Объявления
06.12.2012, 05:00     Строка: посчитать частоту появления каждого символа
Ответ Создать тему
Опции темы

Текущее время: 04:42. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru