|
28 / 28 / 3
Регистрация: 18.12.2010
Сообщений: 158
|
|
слова из мемо и их перенос14.10.2011, 21:26. Показов 4839. Ответов 32
Метки нет (Все метки)
Здравствуйте. Помогите решить такую задачу:
Имеется файл с текстом на русском языке. Дать варианты переноса всех слов. Перенос возможен по следующим правилам: 1) переносятся либо остаются в конце строки не менее двух символов; 2) невозможен перенос перед буквами 'ь' и 'ъ'; 3) слово должно иметь не менее двух слогов; 4) в оставшейся и переносимой частях слова должны быть гласные буквы.
0
|
|
| 14.10.2011, 21:26 | |
|
Ответы с готовыми решениями:
32
Перенос строки в мемо Вывод по 3 слова в Мемо Поиск нужного слова в мемо |
|
15 / 15 / 1
Регистрация: 29.05.2011
Сообщений: 45
|
|
| 14.10.2011, 21:45 | |
|
так и тянет предложить на регулярных выражениях это реализовать, но я о них только по наслышке знаю, к сожалению. но по идее как раз для подобных задач они и предназаначены.
0
|
|
|
Практикантроп
4841 / 2726 / 534
Регистрация: 23.09.2011
Сообщений: 5,798
|
|
| 14.10.2011, 22:06 | |
|
Ну, в общих чертах... я бы решал эту задачу так: создал бы два массива - набор согласных букв и набор гласных; затем написал функцию, которая, получив слово, отдавала бы два параметра: число согласных и число гласных в слове. Теперь в таблицу StringGrid вводим наш текст с разделителем "пробел" (здесь возможны варианты), чтоб в каждой строчке было по слову. Ну, а дальше - развёрнутый анализ в цикле - если в слове гласных менее 2, то никаких переносов; иначе - в цикле по количеству букв прикидки: есть ли в блоке гласная, не начинается ли следующий блок на недопустимый символ (ь ъ)... ну а так далее. Довольно сложный алгоритм, но проще без спецсредств, которые наверно существуют, я себе не представляю.
0
|
|
|
28 / 28 / 3
Регистрация: 18.12.2010
Сообщений: 158
|
|
| 14.10.2011, 22:14 [ТС] | |
|
У меня есть файл. его текст в мемо. А как узнать какое слово текущее? т.е которое я буду переносить..
0
|
|
|
Практикантроп
4841 / 2726 / 534
Регистрация: 23.09.2011
Сообщений: 5,798
|
|
| 14.10.2011, 22:20 | |
|
Я думаю, - с Memo будет неудобно. Туда оч. просто грузить текстовый файл, но обрабатывать строки... не особо приятно. Лучше StringGrid, но это только моё мнение. Вам же ещё как-то нужно "предъявлять" результат обработки. Мне кажется, так было бы приемлемо:
сквозняк : скво-зняк сквоз-няк собрать : со-брать соб-рать ... P.S. Я, наверное, напутал: ListBox, а не StringGrid (с устатку...)
0
|
|
|
28 / 28 / 3
Регистрация: 18.12.2010
Сообщений: 158
|
|
| 14.10.2011, 22:25 [ТС] | |
|
Каждая ячейка StringGrid, это тоже насколько я понимаю строка. Как туда запихнуть слова из текстового файла я даже представить не могу. Перенос слова должен выглядеть наглядно- а это осуществимо только в мемо.
0
|
|
|
Практикантроп
4841 / 2726 / 534
Регистрация: 23.09.2011
Сообщений: 5,798
|
|
| 14.10.2011, 22:34 | |
|
Не только...
ListBox1->Items->LoadFromFile("test.txt"); и там к тому же должна быть функция заполнения строк, используя разделитель (пробел, табулятор и т.д). Я, к сожалению, мало работал с этим элементом, но на этом же форуме встречал о нём хвалебные отзывы. Он довольно мощный именно для работы со словами.
0
|
|
|
|
|
| 14.10.2011, 23:15 | |
|
я так понимаю , перенос нужен, когда строка не помещается в окно редактирования - но как вы будете определять это при WordWrap и без WordWrap ? вот над этим я бы тоже подумал
0
|
|
|
28 / 28 / 3
Регистрация: 18.12.2010
Сообщений: 158
|
|
| 15.10.2011, 22:32 [ТС] | |
|
я долго думал. не важно организован перенос функцией WordWrap или нет, главное чтобы срабатывали условия. Причем каждое из них по отдельности. Нажал на кнопочку все переносы переносятся либо остаются в конце строки не менее двух символов, ну другую- уже переносы делаются по другому правилу. Как это можно реализовать?
0
|
|
|
|
|
| 15.10.2011, 23:59 | |
|
WordWrap важно, потому что если оно тру - строка все равно не разрывна, перенос чисто визуальный
0
|
|
|
28 / 28 / 3
Регистрация: 18.12.2010
Сообщений: 158
|
|
| 16.10.2011, 00:15 [ТС] | |
|
а как же тогда сделать не визуальный перенос?
Добавлено через 10 минут мне хотя бы кусочек кода... а то совсем не могу уловить суть как это делается...
0
|
|
|
15 / 15 / 1
Регистрация: 29.05.2011
Сообщений: 45
|
|
| 16.10.2011, 19:39 | |
|
я почти сделал!! не спал две ночи!!!
1
|
|
|
28 / 28 / 3
Регистрация: 18.12.2010
Сообщений: 158
|
|
| 18.10.2011, 18:19 [ТС] | |
|
moskk поделись пожалуйста, а то до меня никак не доходит))
0
|
|
|
23 / 23 / 9
Регистрация: 24.04.2010
Сообщений: 220
|
|
| 18.10.2011, 21:47 | |
|
Люди подскажите как это можно реализовать? столкнулся с такой же задачей!
0
|
|
|
15 / 15 / 1
Регистрация: 29.05.2011
Сообщений: 45
|
|
| 18.10.2011, 23:42 | |
Сообщение было отмечено как решение
Решение
блин, я задачу не так понял. я два дня делал чё-то типа "найти все возможные варианты деления слова на слоги".
а ваша задачка очень простая оказалась, ловите... но только там переносы ищутся для слова из эдита, как из мемо слова брать, думаю, разберётесь.
3
|
|
|
23 / 23 / 9
Регистрация: 24.04.2010
Сообщений: 220
|
|
| 28.10.2011, 00:33 | |
|
moskk выручай пожалуйста. все в твоем варианте хорошо, да не работает перенос перед мягким и твердым знаком.
2) невозможен перенос перед буквами 'ь' и 'ъ'; препод уже мозг весь сел, помоги пожалуйста
0
|
|
|
|
||
| 28.10.2011, 00:43 | ||
0
|
||
| 28.10.2011, 01:30 | |
|
Не по теме: LK, поздравляю!)) молодец!)
1
|
|
|
15 / 15 / 1
Регистрация: 29.05.2011
Сообщений: 45
|
|||
| 28.10.2011, 10:24 | |||
|
0
|
|||
|
28 / 28 / 3
Регистрация: 18.12.2010
Сообщений: 158
|
|
| 28.10.2011, 19:20 [ТС] | |
|
Сегодня пытался защитить лабу. Вот что сказал преподаватель. "Есть текстовый файл, в нем есть предложение, например:
"Каждый день после прогулки я захожу в подъезд." Программа должна расставить переносы во всех словах соблюдая следующие правила: 1) переносятся либо остаются в конце строки не менее двух символов; 2) невозможен перенос перед буквами 'ь' и 'ъ'; 3) слово должно иметь не менее двух слогов; 4) в оставшейся и переносимой частях слова должны быть гласные буквы. Конечный результат сохраняется в текстовый файл в виде: Каж-дый день пос-ле про-гул-ки я за-хо-жу в по-дъе-зд. Т. е все переносы сохраняются через дефис." делаю в Builder6 c++
0
|
|
| 28.10.2011, 19:20 | |
|
Помогаю со студенческими работами здесь
20
Выделение искомого слова в мемо (файле тхт) любым способом подскажите пожалуйста как сделать заполнение одного мемо количеством строк равных другому мемо?
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2.
При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
|
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут.
https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc
Первый документ красиво выглядит, но без схемы.
Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
|
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере".
Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
|
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти".
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2.
В качестве источника данных. . .
|
|
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер
Написал заготовку:
dotnet new console --aot -o UrlHandler
var items = args. Split(":");
var tag = items;
var id = items;
var executable = args;. . .
|
Отправка уведомления на почту при изменении наименования справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере изменения наименования типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной. . .
|
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений.
9TO2GP2bpX4
a42b81fb172ffc12ca589c7898261ccb/
https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/
Слева синяя линия -. . .
|
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. .
Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
|