С++ Сириус Курсы просьба написать полностью код!!!!! Дана строка, возможно, содержащая пробелы. Определите, какая буква латинского алфавита (или какие буквы) в этой строке встречается чаще всего. При решении этой задачи заглавные и строчные буквы считаются одинаковыми, а прочие символы, не являющиеся буквами, не учитываются.
При решении этой задачи нельзя пользоваться вложенными циклами. Входная строка должна обрабатываться за один проход.

28 Авг 2022 в 19:40
227 +1
0
Ответы
1

Вот пример кода на C++, который решает данную задачу без использования вложенных циклов:

#include <iostream>
#include <string>
#include <unordered_map>
#include <cctype>
using namespace std;
char mostFrequentLetter(const string& str) {
unordered_map<char, int> freqMap;
char mostFrequentChar = '\0';
int maxFreq = 0;
for (char c : str) {
if (isalpha(c)) {
char lowerC = tolower(c);
freqMap[lowerC]++;
if (freqMap[lowerC] > maxFreq) {
mostFrequentChar = lowerC;
maxFreq = freqMap[lowerC];
}
}
}
return mostFrequentChar;
}
int main() {
string input;
cout << "Введите строку: ";
getline(cin, input);
char mostFrequent = mostFrequentLetter(input);
if (mostFrequent != '\0') {
cout << "Самая часто встречающаяся буква: " << mostFrequent << endl;
} else {
cout << "В строке нет букв." << endl;
}
return 0;
}

Этот код считывает строку с клавиатуры, определяет, какая буква латинского алфавита в этой строке встречается чаще всего, и выводит эту букву на экран.

16 Апр 2024 в 18:09
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Гарантированные бесплатные доработки в течение 1 года
Быстрое выполнение от 2 часов
Проверка работы на плагиат
Поможем написать учебную работу
Прямой эфир