Программка должна вычислять сколько одинаковых символов содержит предложение на 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; // выводим символ и сколько раз встречается
}