Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.76/21: Рейтинг темы: голосов - 21, средняя оценка - 4.76
36 / 33 / 10
Регистрация: 14.06.2013
Сообщений: 432
1

Подсчет каждого символа в строке

17.04.2015, 22:09. Показов 4045. Ответов 6
Метки нет (Все метки)

Написал программу, которая подсчитывает встречаемость каждого символа в строке, все работает, но:
допустим, есть строка "Hello!!!"
выведет:
H - 1
e - 1
l - 2
l - 2
o - 1
! - 3
! - 3
! - 3

а нужно:
H - 1
e - 1
l - 2
o - 1
! - 3

Как реализовать это быстро
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
17.04.2015, 22:09
Ответы с готовыми решениями:

Определить количество вхождений каждого символа в строке
Помогите решить задачу! Вот условие: После ввода с клавиатуры произвольного строки выдать на...

Подсчет количества каждого слова в строке и вывод по порядку
Всем привет! Задание заключается в том, чтоб разделить строку на слова, посчитать количество...

В веденной строке после каждого символа добавить его код
Вопрос в том, как мне вывести именно после каждого символа?..а, ещё оно и не те коды пишет...

В данной строке S вставить символ c1 после каждого вхождения символа c2
В данной строке S вставить символ c1 после каждого вхождения символа c2.

6
32 / 32 / 14
Регистрация: 30.11.2013
Сообщений: 139
17.04.2015, 22:34 2
zontik24, код в студию
0
36 / 33 / 10
Регистрация: 14.06.2013
Сообщений: 432
17.04.2015, 22:37  [ТС] 3
причем тут код? Код работает нормально
Мне алгоритм на словах нужен
0
32 / 32 / 14
Регистрация: 30.11.2013
Сообщений: 139
17.04.2015, 22:48 4
Читаешь строку, каждый новый символ заносишь в массив(либо любой контейнер по желанию) и в другой аналогичный массив на туже позицию 0, если символ уже есть в первом массиве то увеличивать число из второго. В конце вывод.
1
lss
937 / 865 / 356
Регистрация: 10.10.2012
Сообщений: 2,706
17.04.2015, 23:03 5
Лучший ответ Сообщение было отмечено zontik24 как решение

Решение

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
    char str[] = "Hello!!!";
   
    const int N = 256;
    int arr[N] = {0};
    for (int i = 0; i < strlen(str); ++i)
        ++arr[str[i]];
    
 
    for (int i = 0; i < N; ++i)
    {
        if (arr[i] != 0)
            cout << (char)i << ' ' << arr[i] << endl;
    }
1
36 / 33 / 10
Регистрация: 14.06.2013
Сообщений: 432
17.04.2015, 23:04  [ТС] 6
дык, и вся проблема в том, как определить уникальный символ
0
32 / 32 / 14
Регистрация: 30.11.2013
Сообщений: 139
17.04.2015, 23:05 7
циклом проходишь по массиву и ищешь совпадения
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
17.04.2015, 23:05

Оставить в строке только один экземпляр каждого встречающегося символа
Оставить в строке только один экземпляр каждого встречающегося символа.

После каждого вхождения символа «$» в строке вставлять подстроку «End»
После каждого вхождения символа «$» в строке вставлять подстроку «End» Подсчитать число вставок.

Оставить в строке только один экземпляр каждого встречающегося символа
Не понимаю почему выдаёт ошибку. #include &quot;pch.h&quot; #include &lt;iostream&gt; #include &lt;ctime&gt;...

Для каждого символа исходной строки найти число вхождений его в строке
Для каждого символа исходной строки найти число вхождений его в строке и напечатать в...

Строка вводится с клавиатуры. В данной строке вставить пробел после каждого символа
Строка вводится с клавиатуры. В данной строке вставить пробел после каждого символа

Определить последнее вхождение символа “р” в строке и вывести строку, начиная с первого символа и до последнего “р” в строке
Заданы 2 строки, состоящие из слов, разделенных пробелами. Определить последнее вхождение символа...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru