![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Форумчанин
Регистрация: 21.12.2010
Сообщений: 155
|
![]()
Вывести частоту появления вводимых символов.
То есть если вводится поток "aabbc 12344" узнать какие символы сколько раз появляются. Тут например будет символ "a" -2 раза "b" тоже два раза и "4" по два раза остальные по одному разу появляются Я сделал с помощью двух массивов. В первом массиве записываем весь поток потом удаляем повторяющиеся элементы и в то же время считаем количество повторений и сразу записываем во второй массив. Правильно ли так делать или возможно сделать по легче. Код:
|
![]() |
![]() |
![]() |
#2 |
Форумчанин
Регистрация: 09.05.2017
Сообщений: 754
|
![]()
- Конечно можно. Один массив правильно - просто последовательность значений(символов). Второй массив - классов или структур. Структура(класс) будет содержать 2 элемента: сам символ(char) и количество его повторений(int).
Потом в конце выводишь просто второй массив на печать и все!:D
Напишу программу на C++ и Asm для AVR. Черчение: sergeisky@yahoo.com.
|
![]() |
![]() |
![]() |
#3 |
Форумчанин
Регистрация: 09.05.2017
Сообщений: 754
|
![]()
- файлы здесь нипричем, Вы же из консоли вводите.
Напишу программу на C++ и Asm для AVR. Черчение: sergeisky@yahoo.com.
|
![]() |
![]() |
![]() |
#4 |
Форумчанин
Регистрация: 09.05.2017
Сообщений: 754
|
![]()
- вот это я не понял зачем делать. Изменяете исходный массив же ведь. Правильно? Я чувствую, что тут надо все программу переписывать по моей идее.:D
Напишу программу на C++ и Asm для AVR. Черчение: sergeisky@yahoo.com.
|
![]() |
![]() |
![]() |
#5 |
Форумчанин
Регистрация: 09.05.2017
Сообщений: 754
|
![]()
Аааааааааааа, понял теперь, удаляете повторяющиеся элементы. Сделайте по моей идее, да не мучайтесь.
Напишу программу на C++ и Asm для AVR. Черчение: sergeisky@yahoo.com.
|
![]() |
![]() |
![]() |
#6 |
Форумчанин
Регистрация: 09.05.2017
Сообщений: 754
|
![]()
- неправильный алгоритм работы. Из Вашего сообщения я понял, что нужно считать повторения только повторяющихся символов, но в Вашей реализации он проходит до конца массива(переменная j). Если же считать только повторяющиеся символы, то при несовпадении символов в ветке else должен быть break.
Напишу программу на C++ и Asm для AVR. Черчение: sergeisky@yahoo.com.
|
![]() |
![]() |
![]() |
#7 | |
Форумчанин
Регистрация: 21.12.2010
Сообщений: 155
|
![]() Цитата:
|
|
![]() |
![]() |
![]() |
#8 |
Форумчанин
Регистрация: 21.12.2010
Сообщений: 155
|
![]() |
![]() |
![]() |
![]() |
#9 |
Форумчанин
Регистрация: 09.05.2017
Сообщений: 754
|
![]()
Он считает сколько символов вообще входит в строку? А не только повторяющиеся подряд?
Еще я хотел посоветовать, что лучше бы исходный массив завести массив символов и целые переменные можно заводить через запятую. Т.е. вот так: Код:
Напишу программу на C++ и Asm для AVR. Черчение: sergeisky@yahoo.com.
Последний раз редактировалось Cuprum5; 04.07.2017 в 12:18. |
![]() |
![]() |
![]() |
#10 | |
Форумчанин
Регистрация: 21.12.2010
Сообщений: 155
|
![]() Цитата:
Не вижу смысла поменять массив типа int на тип char |
|
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Задачка из К&Р | goto ∞ | Общие вопросы C/C++ | 2 | 02.07.2017 15:22 |
не перегружается ostream& operator<<(ostream &, Card&) | Antej | Общие вопросы C/C++ | 2 | 17.12.2012 14:02 |
Вопрос по поводу меню на сайте, html&css&js | antoxa22 | HTML и CSS | 14 | 30.12.2011 11:02 |
TForm & TImage & PNG & Прозрачность | delphi_beginner | Общие вопросы Delphi | 7 | 19.09.2009 08:46 |