Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
ulyana_md
9 / 5 / 4
Регистрация: 03.10.2017
Сообщений: 110
1

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

26.05.2018, 23:01. Просмотров 434. Ответов 1
Метки нет (Все метки)

Найти в текстовом файле слово, содержащее наибольшее количество повторяющихся букв
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.05.2018, 23:01
Ответы с готовыми решениями:

Найти в строке слово, содержащее наибольшее количество заданных букв
Дана строка, содержащая текст на русском языке, и некоторая буква. Найти слово, содержащее...

Во введенной строке найти слово, содержащее наибольшее количество разных букв
Во введенной строке найти слово, содержащее наибольшее количество разных букв (слова разделяются...

В заданных текстовых файлах найти слово содержащее наибольшее количество указанных букв
даны файлы содержащий текст и некоторые буквы найти слово содержанее наибольшее количество...

Ввести строку, вывести слово, содержащее наибольшее количество гласных букв
Привет Ребят,мне нужно сделать лабораторную по информатике,вот что мне надо Ввести строку,...

Найти слово, содержащее наибольшее количество символов
Ввести с клавиатуры одномерный строковый массив и найти слово, содержащее наибольшее количество...

1
Fixer_84
1414 / 892 / 795
Регистрация: 30.04.2016
Сообщений: 3,058
02.07.2018, 23:44 2
ulyana_md, здравствуйте! Вот решение:

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
#include <bits/stdc++.h>
 
    using namespace std;
 
int f(string s) {
    sort(s.begin(), s.end());
    int k, count;
    count = k = 0;
    for (int i = 0; i < s.size(); i++) {
        if (i + 1 < s.size() && s[i] == s[i+1]) {
            k++;
        } else {
            if (k > 0) {
                count++;
            }
            k = 0;
        }
    }
    return count;
}
 
int main() {
    ifstream fin("input.txt");
    if (fin.good()) {
        regex reg("(\\w+)");
        string str, word;
        int max = 0;
        while (getline(fin, str)) {
            regex_iterator<string::iterator> it(str.begin(), str.end(), reg);
            regex_iterator<string::iterator> end;
            for (; it != end; ++it) {
                if (f(it->str()) > max) {
                    max = f(it->str());
                    word = it->str();
                }
            }
        }
        if (max) {
            cout << "Found word: " << word << " => " << max << " repeated letter(s)\n";
        } else {
            cout << "No any searched words found!\n";
        }
        fin.close();
    } else {
        cout << "No file input.txt found!\n";
    }
    system("pause");
    return 0;
}
Добавлено через 9 минут
ulyana_md, функцию проверки числа повторяющихся букв в слове можно заменить на эту (я предложил вначале свой старый вариант):

C++
1
2
3
4
5
6
7
8
9
10
11
int f(string s) {
    map<char, int> mp;
    for (int i = 0; i < s.size(); i++) {
        mp[s[i]]++;
    }
    int k = 0;
    for (auto it = mp.begin(); it != mp.end(); ++it) {
        if (it->second > 1) k++;
    }
    return k;
}
0
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.07.2018, 23:44

Найти слово содержащее наибольшее количество цифр
Нужно напечатать слово, содержащее наибольшее количество цифр и ещё одно слово с наибольшим...

Найти в тексте слово, содержащее наибольшее количество гласных
выкладываю код. задача проги-найти в тексте слово, содержащее наибольшее количество гласных, и...

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


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.