|
392 / 284 / 53
Регистрация: 26.12.2009
Сообщений: 874
|
|
Найти в строке string наиболее часто встречающуюся пару символов и заменить на один новый символ31.08.2010, 20:32. Показов 5950. Ответов 17
Метки нет (Все метки)
нужно найти в строке пару символов, которые повторяются чаще всех и заменить их на один новый символ например acfghhachfjiac "ac" заменить на "X" и чтобы в итоге вышло XfghhXhfjiX
как считать строку из файла в стринг, если она содержит пробелы (нужно считать из файла строку с пробелами)
0
|
|
| 31.08.2010, 20:32 | |
|
Ответы с готовыми решениями:
17
Найти наиболее часто встречающуюся букву и также вывести на экран в отдельной строке |
|
В астрале
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
|
||||||
| 31.08.2010, 20:39 | ||||||
|
Mayonez, 2
1
|
||||||
|
Заблокирован
|
||||||
| 31.08.2010, 20:45 | ||||||
0
|
||||||
|
5058 / 3118 / 271
Регистрация: 11.11.2009
Сообщений: 7,044
|
|
| 31.08.2010, 20:48 | |
|
Mayonez,
Навскидку, первое, что пришло в голову... Проходя по строке в первый раз, создать таблицу уникальных пар (т.е. в строке acfghhachfjiac уникальными парами будут ac, cf, fg, gh, hh, ha, ch, hf, fj, ji и ia). Затем для каждой пары поставить в соответствие количество раз, которое она встречается в строке (для каждой пары делаем проход по строке и считаем количество совпадений). Ну а затем в новый массив переписываем входную строку, постоянно отслеживая пару, повторяющуюся максимальное число раз, и при переписывании заменяем её на требуемый символ... Кстати, первый и второй пункты можно объединить (видим пару - проверяем, нет ли её в таблице, если нет - добавляем, а если нашли, тут же увеличиваем её счётчик и переходим к следующей паре).
0
|
|
|
392 / 284 / 53
Регистрация: 26.12.2009
Сообщений: 874
|
|
| 31.08.2010, 21:50 [ТС] | |
|
0
|
|
|
5058 / 3118 / 271
Регистрация: 11.11.2009
Сообщений: 7,044
|
|
| 31.08.2010, 21:57 | |
|
Mayonez,
Почти дописал))) Правда на Си будет, ну и с файлами я не стал заморачиваться, сделал ввод с клавиатуры, так что тебе останется только ввод-вывод переделать. Добавлено через 5 минут Кстати, а если несколько пар повторяются одинаковое число раз, и это как раз максимальное число повторений, как тогда поступить?
0
|
|
|
392 / 284 / 53
Регистрация: 26.12.2009
Сообщений: 874
|
|
| 31.08.2010, 22:08 [ТС] | |
|
заменить или любую из пар или обе но на две разные буквы
0
|
|
|
5058 / 3118 / 271
Регистрация: 11.11.2009
Сообщений: 7,044
|
|
| 31.08.2010, 22:09 | |
|
Т.е. возможно любое решение? Разрешите, я остановлюсь на первом, когда выложу код, скажу идеи, как его можно переделать под второй вариант...
0
|
|
|
392 / 284 / 53
Регистрация: 26.12.2009
Сообщений: 874
|
|
| 31.08.2010, 22:11 [ТС] | |
|
окей, давай
0
|
|
|
5058 / 3118 / 271
Регистрация: 11.11.2009
Сообщений: 7,044
|
||||||
| 31.08.2010, 22:48 | ||||||
Для, того, чтобы заменять другие пары, нужно сохранить найденное в первый раз максимальное число повторений, затем, после того, как произошла первая замена, входной строкой мы делаем получившуюся выходную (в которой один вид пар уже заменён некоторым символом), а из списка пар удаляем элемент, соответствующий заменяемой только что паре. Далее ищем в списке элемент, значение counter которого совпадает с ранее найденным максимальным значением (его менять больше не будем), и производим замену в строке уже этой пары. И это всё проделываем в цикле, пока есть элементы списка, значение counter которых совпадает с найденным в самый первый раз максимальным значением.
1
|
||||||
|
392 / 284 / 53
Регистрация: 26.12.2009
Сообщений: 874
|
||||||
| 01.09.2010, 15:57 [ТС] | ||||||
|
вот что получилось у меня на с+++STL
0
|
||||||
|
5828 / 3479 / 358
Регистрация: 08.02.2010
Сообщений: 7,448
|
||||||
| 01.09.2010, 17:45 | ||||||
|
А вот что у меня получилось C++ + STL:
2
|
||||||
|
2 / 2 / 0
Регистрация: 30.08.2010
Сообщений: 12
|
||
| 02.09.2010, 10:06 | ||
|
0
|
||
|
5058 / 3118 / 271
Регистрация: 11.11.2009
Сообщений: 7,044
|
|
| 02.09.2010, 10:09 | |
|
Банально - первая найденная пара - ab - будет первой в списке уникальных. При поиске пар с максимальной повторяемостью она также всплывёт первой - её-то и будем заменять... А то, что есть ещё и ba, мы и не узнаем потом, да и это нюансы, которые обычно решаются так, как я и описал выше, по принципу "кто первый встал - того и тапки"...
0
|
|
|
5828 / 3479 / 358
Регистрация: 08.02.2010
Сообщений: 7,448
|
|
| 02.09.2010, 10:13 | |
|
0
|
|
|
5058 / 3118 / 271
Регистрация: 11.11.2009
Сообщений: 7,044
|
|
| 02.09.2010, 10:14 | |
|
abababababababa
А так?
0
|
|
| 02.09.2010, 10:38 | |
|
Не по теме: silent_1991, тут ты меня и подловил :)
0
|
|
|
392 / 284 / 53
Регистрация: 26.12.2009
Сообщений: 874
|
|
| 03.09.2010, 14:50 [ТС] | |
|
0
|
|
| 03.09.2010, 14:50 | |
|
Помогаю со студенческими работами здесь
18
Задача. В последовательности символов, оканчивающихся точкой, найти наиболее часто встречающийся символ Найти цифру наиболее часто встречающуюся в тексте
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
||||
|
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Нашел на реддите интересную статью под названием «Кто-нибудь знает, где получить бесплатный компьютер или. . .
|
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод
Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод.
Thinkpad X220 Tablet —. . .
|
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта
Симптом:
После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
|
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
|
Новый ноутбук
volvo 07.12.2025
Всем привет.
По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне:
Ryzen 5 7533HS
64 Gb DDR5
1Tb NVMe
16" Full HD Display
Win11 Pro
|
|
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
|
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
|
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов
На странице:
https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/
нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
|
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов.
. . .
|
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
|