Форум программистов, компьютерный форум CyberForum.ru

Расставить между словами пробелы - как определить, где именно поставить пробел - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 13, средняя оценка - 5.00
_Лето_
1 / 1 / 0
Регистрация: 03.11.2013
Сообщений: 68
25.08.2014, 23:40     Расставить между словами пробелы - как определить, где именно поставить пробел #1
Всем доброго дня. Увидел задачу: нужно убрать пробелы между словами, чтобы получился слитный текст. Как это сделать - вполне понятно. Но мне просто стало интересно, как можно реализовать эту задачу в обратную сторону? Допустим, нужно наоборот расставить пробелы между словами, которые написаны слитно. И тут я застрял...

Как это можно сделать? И какую библиотеку нужно для этого применять? Пожалуйста, если кто-то знает, подскажите!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.08.2014, 23:40     Расставить между словами пробелы - как определить, где именно поставить пробел
Посмотрите здесь:

добавить пробел между словами C++
C++ Исключить лишние пробелы между словами (комментарии)
C++ в строке между словами вставить вместо пробела запятую и пробел?
C++ Убрать в текстовом файле ненужные пробелы, оставив между словами по одному, между предложениями по два.
C++ В строке между словами вставить вместо пробела запятую и пробел
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
John Prick
754 / 687 / 123
Регистрация: 27.07.2012
Сообщений: 1,974
Завершенные тесты: 3
25.08.2014, 23:43     Расставить между словами пробелы - как определить, где именно поставить пробел #2
Вы думаете, есть какая-то специальная библиотека по расстановке пробелов?
_Лето_
1 / 1 / 0
Регистрация: 03.11.2013
Сообщений: 68
25.08.2014, 23:43  [ТС]     Расставить между словами пробелы - как определить, где именно поставить пробел #3
John Prick, не. Для работы с текстом
Sergio Leone
2445 / 1090 / 398
Регистрация: 07.06.2014
Сообщений: 3,239
25.08.2014, 23:45     Расставить между словами пробелы - как определить, где именно поставить пробел #4
посмотрите тему: Как разбить сплошную строку на слова?
ValeryS
Модератор
6374 / 4840 / 441
Регистрация: 14.02.2011
Сообщений: 16,040
25.08.2014, 23:45     Расставить между словами пробелы - как определить, где именно поставить пробел #5
_Лето_,
а поиском не пробовал поискать?
эта тема уже страниц на пять
Как разбить сплошную строку на слова?
John Prick
754 / 687 / 123
Регистрация: 27.07.2012
Сообщений: 1,974
Завершенные тесты: 3
25.08.2014, 23:47     Расставить между словами пробелы - как определить, где именно поставить пробел #6
_Лето_, Если из предложения убрать все пробелы - получится просто набор букв. Как их вернуть назад? Да никак, собственно. Разумного решения у этой задачи не будет. Это всё равно, что заложить все окна и двери в доме кирпичём, а потом пытаться сделать их в том же месте.
_Лето_
1 / 1 / 0
Регистрация: 03.11.2013
Сообщений: 68
25.08.2014, 23:49  [ТС]     Расставить между словами пробелы - как определить, где именно поставить пробел #7
Sergio Leone, да мне не нужен русский, можно и с английским работать для начала

Добавлено через 1 минуту
John Prick, просто я думал, что можно как-нибудь сделать, чтобы программа шла по строке и сравнивала то, что читает, с каким-нибудь огромным словарем и определяя, что слова раздельные, разделяла бы их пробелом

Добавлено через 19 секунд
ValeryS, да искал. Нет ничего подобного
ValeryS
Модератор
6374 / 4840 / 441
Регистрация: 14.02.2011
Сообщений: 16,040
25.08.2014, 23:57     Расставить между словами пробелы - как определить, где именно поставить пробел #8
Цитата Сообщение от _Лето_ Посмотреть сообщение
ValeryS, да искал. Нет ничего подобного
ты тему то смотрел по ссылке?
там как раз и обсуждается что невозможно это с кондачка решить
Пока решений не найдено
а ты хочешь готовую библиотеку
создай, и тебе при жизни золотой памятник поставят

Добавлено через 1 минуту
Цитата Сообщение от _Лето_ Посмотреть сообщение
чтобы программа шла по строке и сравнивала то, что читает, с каким-нибудь огромным словарем и определяя, что слова раздельные, разделяла бы их пробелом
как правильно
Цитата Сообщение от ValeryS Посмотреть сообщение
вспомнил еще один каламбур
"гражданиномнепаласчитаетсячеловекзачатыйнепальцеминепалкой"
как читать будем
"гражданином Непала считается человек зачатый непальцем и непалкой"
или
"гражданином Непала считается человек зачатый не пальцем и не палкой"
-NEURON-
Заблокирован
26.08.2014, 00:01     Расставить между словами пробелы - как определить, где именно поставить пробел #9
ТС, если ты сольёшь текст воедино и у тебя не будет хотя бы звуковой записи данного транскрипта для распознавания речи - то обратно ты никак не вернёшь пробелы, т.к. данный процесс не обратим.
_Лето_
1 / 1 / 0
Регистрация: 03.11.2013
Сообщений: 68
26.08.2014, 00:01  [ТС]     Расставить между словами пробелы - как определить, где именно поставить пробел #10
ValeryS,
Цитата Сообщение от ValeryS Посмотреть сообщение
как правильно
Сообщение от ValeryS
вспомнил еще один каламбур
"гражданиномнепаласчитаетсячеловекзачатыйнепальцеминепал кой"
как читать будем
"гражданином Непала считается человек зачатый непальцем и непалкой"
или
"гражданином Непала считается человек зачатый не пальцем и не палкой"
Это понятно, я уже видел это.
Значит, пока что это еще нереально... Хорошо, будем думать
ValeryS
Модератор
6374 / 4840 / 441
Регистрация: 14.02.2011
Сообщений: 16,040
26.08.2014, 00:08     Расставить между словами пробелы - как определить, где именно поставить пробел #11
Цитата Сообщение от _Лето_ Посмотреть сообщение
Значит, пока что это еще нереально...
это вообще не реально, сжатие с потерей информации
чтобы понять это, я переформулирую задачу
"можно ли восстановить текст из которого выброшены все гласные буквы"
gazlan
2855 / 1803 / 271
Регистрация: 27.08.2010
Сообщений: 4,883
Записей в блоге: 1
26.08.2014, 00:52     Расставить между словами пробелы - как определить, где именно поставить пробел #12
Цитата Сообщение от ValeryS Посмотреть сообщение
"можно ли восстановить текст из которого выброшены все гласные буквы"
С ивритом не сталкивались?
ValeryS
Модератор
6374 / 4840 / 441
Регистрация: 14.02.2011
Сообщений: 16,040
26.08.2014, 01:05     Расставить между словами пробелы - как определить, где именно поставить пробел #13
Цитата Сообщение от gazlan Посмотреть сообщение
С ивритом не сталкивались?
как то нет даже идиш не знаю
Меня спросили на иврите:
— Вы на иврите говорите?
А я в ответ на чистом идиш:
— Ты че, в натуре, сам не видишь?!
(с) И. Иртеньев
но как это отменяет
Цитата Сообщение от ValeryS Посмотреть сообщение
сжатие с потерей информации
gazlan
2855 / 1803 / 271
Регистрация: 27.08.2010
Сообщений: 4,883
Записей в блоге: 1
26.08.2014, 02:49     Расставить между словами пробелы - как определить, где именно поставить пробел #14
Цитата Сообщение от ValeryS Посмотреть сообщение
но как это отменяет сжатие с потерей информации
Не могу поклясться, что отменяет :-), но это письменность (библейский иврит), не использовавшая гласных - они восстанавливались из контекста.

Точно также, современный текст с многочисленными ошибками (ex.: результат OCR) может быть практически восстановлен с использованием спеллчекера. Замена в тексте буквы 'ё' на 'е', по большей части, нечувствительна для носителя языка. Другой общеизвестный пример - коды, исправляющие ошибки.

Иными словами, потеря гласных - не такая большая потеря. А (частичное) восстановление пробелов, я уже демонстрировал в другой теме.
ValeryS
Модератор
6374 / 4840 / 441
Регистрация: 14.02.2011
Сообщений: 16,040
26.08.2014, 08:48     Расставить между словами пробелы - как определить, где именно поставить пробел #15
gazlan,
все правильно человеческий язык избыточен, так скажем помехозащен, но есть предел после которого информация уже не восстанавливается
Цитата Сообщение от gazlan Посмотреть сообщение
они восстанавливались из контекста.
вот ключевое слово
а кто будет определять этот контекст?

можно привести пример из шпионских фильмов, как по нескольким шифровкам определяют текст, а иногда не могут, хорошо расписано у К. Дойла "Пляшущие человечки", но есть вероятность что, определят неправильно

или другой пример сжатие джипег или мп3, потеря информации но человек видит/слышит, что пытались до него донести
но если взять сильное сжатие , то картинку уже не увидишь, по крайней мере мелкие детали
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.08.2014, 15:15     Расставить между словами пробелы - как определить, где именно поставить пробел
Еще ссылки по теме:

Строка: Удалить лишние пробелы между словами C++
C++ В тексте вставить между словами вместо одного пробела запятую и пробел
C++ В символьной строке между словами вставить вместо пробела запятую и пробел

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

Или воспользуйтесь поиском по форуму:
gazlan
2855 / 1803 / 271
Регистрация: 27.08.2010
Сообщений: 4,883
Записей в блоге: 1
26.08.2014, 15:15     Расставить между словами пробелы - как определить, где именно поставить пробел #16
Цитата Сообщение от ValeryS Посмотреть сообщение
вот ключевое слово
а кто будет определять этот контекст?
AI :-)

Разумеется, это невозможно во всех случаях (или при критических повреждениях). Я только указал, что иногда это выполнимо.
Yandex
Объявления
26.08.2014, 15:15     Расставить между словами пробелы - как определить, где именно поставить пробел
Ответ Создать тему
Опции темы

Текущее время: 02:06. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru