Задать вопрос
@Matef

Не получется вывести сколько одинаковых символов содержит строка?

Программка должна вычислять сколько одинаковых символов содержит предложение на C++

Вот что у меня получилось, но она не работает если ставить пробелы и все время нужно писать сколько символов содержит слово, пытался пофиксить это функцией strlen() но не помогла. Помогите расскажите что я делаю не так пожалуйста !?

Код:
#include <iostream>
 
 using namespace std;
 
int main()
{
    int num;
    cout << "Введите кол-во символов строки: ";
    cin >> num;
 
    int arr[256] = {}; // массив счетчиков символов
    char str[num]; // текст
    cout << "Введите текст: "; //Просим пользователя ввести текст
    cin >> str;

    
    // инкрементируем счетчик символа с помощью цикла
    for (int i = 0; i < num; ++i)
        ++arr[unsigned(str[i])];
 
    // находим индекс максимального счетчика
    int max = 0;
    for (int i = 1; i < 256; ++i)
        if (arr[max] < arr[i])
            max = i;
 
    cout << char(max) << " - " << arr[max] << endl;   // выводим символ и сколько раз встречается
    
}
  • Вопрос задан
  • 171 просмотр
Подписаться 1 Средний Комментировать
Решение пользователя galaxy К ответам на вопрос (2)
@galaxy
Что за странная манера писать на гибриде C и C++?

Пишите на плюсах - используйте std::string.
cin >> считывает до первого пробела, читайте через std::getline()
Ответ написан
Комментировать