Не получется вывести сколько одинаковых символов содержит строка?
Что за странная манера писать на гибриде C и C++?

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

Конец ввода это комбинация клавиш Ctrl + D в Linux и Ctrl + Z в Windows

#include <iostream>
#include <map>

using namespace std;

int main()
{
  map<char, int> table;
  char c = 0;

  while(cin >> c) table[c]++;

  for(auto [ch, cnt] : table)
  {
    cout << "symbol: '" << ch << "' count: " << cnt << "\n";
  }
}

С пробелами
#include <iostream>
#include <string>
#include <map>

using namespace std;

int main()
{
  map<char, int> table;
  string s;
  getline(cin, s);

  for(char c : s) table[c]++;

  for(auto [ch, cnt] : table)
  {
    cout << "symbol: '" << ch << "' count: " << cnt << "\n";
  }
}


С выводом русских букв еще разобраться надо.