Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.71/34: Рейтинг темы: голосов - 34, средняя оценка - 4.71
1 / 1 / 0
Регистрация: 24.06.2016
Сообщений: 143
1

Определить какая буква чаще всего встречается в текстовом файле

03.06.2017, 18:34. Показов 6432. Ответов 6
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Определить какая буква чаще всего встречается в текстовом файле
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
03.06.2017, 18:34
Ответы с готовыми решениями:

Определить какая буква чаще всего встречается в заданном текстовом файле.
Определить какая буква чаще всего встречается в заданном текстовом файле. Так же есть предложение...

Определить, какая буква чаще всего встречается в тексте, находящемся в заданном текстовом файле
Определить, какая буква чаще всего встречается в тексте, находящемся в заданном текстовом файле

Найти в текстовом файле слово, которое встречается чаще всего
Наиболее популярное слово Программа должна находить в заданном текстовом файле, содержащем текст...

Определить какая согласная чаще всего встречается
введено предложение произвольной длины, определить, какая согласная чаще всего встречается в нем

6
671 / 217 / 88
Регистрация: 21.07.2016
Сообщений: 1,036
Записей в блоге: 2
03.06.2017, 19:11 2
Цитата Сообщение от Elements.inc.h
qwertyasdasdf111asdqwefqwe
faquweawqfewe11fawefaw
resozxqawfeae1fwqe
rehbtqfcsaawe5fqw
Локальные переменные
chs <20 элементов> std::map<char, unsigned long>
[0] 10 '\a' 4 unsigned long
[1] 49 '1' 6 unsigned long
[2] 53 '5' 1 unsigned long
[3] 97 'a' 11 unsigned long
[4] 98 'b' 1 unsigned long
[5] 99 'c' 1 unsigned long
[6] 100 'd' 3 unsigned long
[7] 101 'e' 13 unsigned long
[8] 102 'f' 10 unsigned long
[9] 104 'h' 1 unsigned long
[10] 111 'o' 1 unsigned long
[11] 113 'q' 9 unsigned long
[12] 114 'r' 3 unsigned long
[13] 115 's' 5 unsigned long
[14] 116 't' 2 unsigned long
[15] 117 'u' 1 unsigned long
[16] 119 'w' 12 unsigned long
[17] 120 'x' 1 unsigned long
[18] 121 'y' 1 unsigned long
[19] 122 'z' 1 unsigned long

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
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
#include <iostream>
#include <vector>
#include <string>
#include <iterator>
#include <algorithm>
#include <cstdio>
#include <cstring>
#include <cctype>
#include <tuple>
#include <climits>
#include <cstdlib>
#include <unistd.h>
#include <termios.h>
#include <fstream>
#include <map>
 
 
 
int main(int argc, char *argv[])
{
 
 
    char result = [&](char* const path)
    {
        std::ifstream ifs(path, std::ios::in);
 
        std::map<char, size_t> chs;
        char ch;
        while(ifs.get(ch))
        {
            ++chs[ch];
        }
 
        ifs.close();
 
        using pair_type = decltype(chs)::value_type;
 
        return std::max_element
                (
                    std::begin(chs), std::end(chs),
                    [] (const pair_type & p1, const pair_type & p2) {
                        return p1.second < p2.second;
                    }
                )->first;
 
    }("../cpp_noqt_desktop/Elements.inc.h");
 
    std::cout << result << std::endl;
 
 
 
    // [ANTIWARNING] unused parameters: 'argc', 'argv'
    return 0; (void)argc;(void)argv;
}
Добавлено через 28 секунд
e
Для закрытия данного окна нажмите <ВВОД>...
^A^C

Warning: Program '/usr/bin/qtcreator_process_stub' crashed.
0
Эксперт .NET
5871 / 4748 / 2940
Регистрация: 20.04.2015
Сообщений: 8,361
03.06.2017, 19: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
#include <iostream>
#include <fstream>
#include <cctype>
#include <map>
int main()
{
    std::ifstream in("input.txt");
    std::map<char, std::size_t> letters;
    char ch;
    while (in.get(ch))
    if (std::isalpha(ch))
        ++letters[ch];
    std::size_t max_count = 0;
    for (auto pair : letters)
    if (pair.second > max_count)
    {
        ch = pair.first;
        max_count = pair.second;
    }
    std::cout << ch << " occurs " << max_count << " times" << std::endl;
    return 0;
}
1
1 / 1 / 0
Регистрация: 24.06.2016
Сообщений: 143
03.06.2017, 19:34  [ТС] 4
Даценд, подчеркивает : в этой строчке for (auto pair : letters)
0
Эксперт .NET
5871 / 4748 / 2940
Регистрация: 20.04.2015
Сообщений: 8,361
03.06.2017, 19:47 5
Лучший ответ Сообщение было отмечено Mud как решение

Решение

Mud,
или включите (если есть возможность) поддержку C++11, или:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>
#include <fstream>
#include <cctype>
#include <map>
int main()
{
    std::ifstream in("e://input.txt");
    std::map<char, std::size_t> letters;
    char ch;
    while (in.get(ch))
    if (std::isalpha(ch))
        ++letters[ch];
    std::size_t max_count = 0;
    for (std::map<char, std::size_t>::iterator it = letters.begin(); it!=letters.end(); it++)
    if (it->second > max_count)
    {
        ch = it->first;
        max_count = it->second;
    }
    std::cout << ch << " occurs " << max_count << " times" << std::endl;
    return 0;
}
2
1 / 1 / 0
Регистрация: 24.06.2016
Сообщений: 143
03.06.2017, 20:08  [ТС] 6
Даценд, Спасибо, все получилось))
0
805 / 532 / 158
Регистрация: 27.01.2015
Сообщений: 3,017
Записей в блоге: 1
04.06.2017, 19:33 7
Лучший ответ Сообщение было отмечено Nishen как решение

Решение

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
#include <iostream>
#include <fstream>
#include <iterator>
#include <map>
#include <cctype>
#include <algorithm>
using namespace std;
 
int main()
{
    map<char, size_t> charCount{};
    pair<char, size_t> maxEntries{};
 
    for_each(
        istream_iterator<char>{ ifstream{ "text.txt" } },
        istream_iterator<char>{},
        [&](const char ch)
    {
        if (isalpha(ch) && ++charCount[ch] > maxEntries.second)
            maxEntries = { ch, charCount[ch] };
    });
 
    cout << maxEntries.first << ' ' << maxEntries.second << endl;
 
    system("pause");
}
1
04.06.2017, 19:33
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
04.06.2017, 19:33
Помогаю со студенческими работами здесь

Определить, какая цифра чаще всего встречается в десятичной записи элементов последовательности
На вход программы поступает последовательность из N натуральных чисел. Требуется определить, какая...

Определить слово, которое чаще всего встречается в файле
Помогите пожалуйста с задачей. Желательно простое решение в потоках. Строки текстового файла...

Какая цифра в строке встречается чаще всего (выполнить с помощью указателей)
написать программу, которая до введенного с клавиатуры строки (максимальная длина строки - 80...

Найти слово, встречающееся чаще всего в данном текстовом файле
Парни нужна помощь, задали задачку на сдачу, а я не шарю как сделать: Есть файл с текстом. Найти...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru