
Как в С++ найти повторяющиеся буквы более 3-х раз в предложении? и заменить их на другой символ


Ответы на вопрос

Ответ:
сделать массив, кинуть туда строку, раздилить на символы.С делать проверку каждого символа.Если символ под индексом допустим 1 будет равен символу по индексу 2 то символы под индексом 2 и 1 = другому символу.
Объяснение:



Для поиска повторяющихся букв более 3 раз в строке и их замены на другой символ в C++, вы можете использовать следующий код:
cpp#include <iostream>
#include <string>
#include <unordered_map>
int main() {
std::string inputSentence;
char replacementChar = '*'; // Заменяющий символ
std::cout << "Введите предложение: ";
std::getline(std::cin, inputSentence);
// Создаем unordered_map для подсчета количества каждой буквы в предложении
std::unordered_map<char, int> charCount;
// Проходим по каждому символу в строке и увеличиваем счетчик для этой буквы
for (char c : inputSentence) {
if (std::isalpha(c)) { // Проверка, что символ - буква
charCount[c]++;
}
}
// Проходим снова и заменяем буквы, которые встречаются более 3 раз на replacementChar
for (char &c : inputSentence) {
if (std::isalpha(c) && charCount[c] > 3) {
c = replacementChar;
}
}
std::cout << "Результат: " << inputSentence << std::endl;
return 0;
}
Этот код сначала считывает предложение с клавиатуры, затем использует unordered_map
для подсчета количества каждой буквы в предложении. Затем он проходит по предложению снова и заменяет буквы, которые встречаются более 3 раз, на заданный вами символ (в данном случае, символ '*'). Результат выводится на экран.
Обратите внимание, что этот код не учитывает регистр букв, поэтому 'A' и 'a' будут считаться одной и той же буквой. Если вам нужно учитывать регистр, то вы можете использовать функции std::toupper
или std::tolower
для нормализации регистра перед подсчетом.


Похожие вопросы
Топ вопросов за вчера в категории Информатика
Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili