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

Найти самую часто встречаемую и самую редко встречаемую буквы во фрагменте произвольного текста - C++

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

Найти самую длинную строку в файле C++
программа принемает строку, находит самую часто всречающуюся букву, и выводит слова в которых НЕТУ этой буквы. вернее она должна это делать. C++
C++ Определить самую длинную и самую короткую из введенных строк
C++ Дана строка. Подсчитать самую длинную последовательность идущей подряд заданной буквы
C++ найти в тексте самую встречаемую букву
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Gepar
 Аватар для Gepar
1173 / 529 / 20
Регистрация: 01.07.2009
Сообщений: 3,511
28.04.2012, 02:05     Найти самую часто встречаемую и самую редко встречаемую буквы во фрагменте произвольного текста #2
Ну можете отсортировать строку с текстом и потом смотреть по сколько повторений насчитывается ... хитрее что-то на ночь глядя ничего не могу выдумать.
zitxbit
Master C/C++
 Аватар для zitxbit
86 / 738 / 75
Регистрация: 11.04.2012
Сообщений: 971
28.04.2012, 07:11     Найти самую часто встречаемую и самую редко встречаемую буквы во фрагменте произвольного текста #3
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
int main(int argc, char *argv[])
{
        static char psz[256] = "lazy brown dog jumps over crazy fox\0";
 
    int* pch = new int[26];
    for (int i = 0; psz[i] != '\0'; i++)
    {
        int count = 1;
        for (int k = i+1; psz[k] != '\0'; k++)
            if (psz[k] == psz[i]) count++;
        if (pch[psz[i]] <= 0) pch[psz[i]] = count;
    }
 
    char ch_min = 'a';
    for (char ch = ch_min+1; ch < 'z'; ch++)
        if (pch[ch] < pch[ch_min] && pch[ch] > 0) ch_min = ch;
 
    char ch_max = 'a';
    for (char ch = ch_max+1; ch < 'z'; ch++)
        if (pch[ch] > pch[ch_max] && pch[ch] > 0) ch_max = ch;
 
        printf("%c = %d\n%c = %d",ch_min,pch[ch_min],ch_max,pch[ch_max]);         
}
ArchakovH
0 / 0 / 0
Регистрация: 28.04.2012
Сообщений: 9
28.04.2012, 12:32  [ТС]     Найти самую часто встречаемую и самую редко встречаемую буквы во фрагменте произвольного текста #4
Допустим, текст предоставляется в виде файла первоначально и там и верхний регистр и нижний, язык русский.
zitxbit
Master C/C++
 Аватар для zitxbit
86 / 738 / 75
Регистрация: 11.04.2012
Сообщений: 971
28.04.2012, 12:39     Найти самую часто встречаемую и самую редко встречаемую буквы во фрагменте произвольного текста #5
Если русский язык то, необходимо вызвать:
C++
1
2
3
4
5
int main(void)
{ 
   setlocale (LC_ALL,"Russian");
   ...............
}
Добавлено через 1 минуту
Если верхний и нижний регистр:
C++
1
2
for (int i = 0; psz[i] != '\0'; i++)
     psz[i] = tolower(psz[i]);
Yandex
Объявления
28.04.2012, 12:39     Найти самую часто встречаемую и самую редко встречаемую буквы во фрагменте произвольного текста
Ответ Создать тему
Опции темы

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