IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

 
 Ответить  Открыть новую тему 
> Задача на строки, срочно нужна помощь
сообщение
Сообщение #1


Гость






Условие:Найти в тексте слова, содержащие не более одной буквы, не входящей ни в последующее, ни в предыдущее слово, записать их заглавными буквами и указать после каждого такого слова в скобках найденную букву.
сижу мучаюсь - идей 0 - а завтра ее сдать надо
позарез
да в принципе можно и без вывода букв в скобках - помогите кто-нибудь
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Уникум
*******

Группа: Пользователи
Сообщений: 6 823
Пол: Мужской
Реальное имя: Лопáрь (Андрей)

Репутация: -  159  +


Можно сделать три множества, набирать в них буквы из трех последовательных слов (желательна процедура по выделению слова). Потом проверять указанное условие (операцией AND) - если удовлетворяется - выводить слово в UpCase и букву (если она есть, конечно)

Добавлено через 3 мин.
По мере прохождения по строке эти множества перекладывать.


--------------------
я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Гость






Боюсь , что у меня не получится это реализовать
Можно плз темку переместить в программы на заказ
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4


Уникум
*******

Группа: Пользователи
Сообщений: 6 823
Пол: Мужской
Реальное имя: Лопáрь (Андрей)

Репутация: -  159  +


просто создай там еще одну, можно идентичную


--------------------
я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #5


Perl. Just code it!
******

Группа: Пользователи
Сообщений: 4 100
Пол: Мужской
Реальное имя: Андрей

Репутация: -  44  +


Lapp, может я чего-то с просони не понимаю, но как ты с помощью операции AND без перебора множеств, проверишь что в множествах A, C, B (в каждом из них) есть более одного одинакового символа

Прим
A: 1, 2, 3, 12
B: 2, 3, 4, 5
C: 6, 2, 3, 4

Или ты хочешь получать результирующее множество - пересечение трех и смотреть перебором сколько там элементов ?


--------------------
perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #6


Уникум
*******

Группа: Пользователи
Сообщений: 6 823
Пол: Мужской
Реальное имя: Лопáрь (Андрей)

Репутация: -  159  +


Цитата(klem4 @ 9.06.2007 9:09) *

Или ты хочешь получать результирующее множество - пересечение трех и смотреть перебором сколько там элементов ?

Да, Klem4, конечно, нужны некоторые промежуточные действия, я их не упоминал в кратком сообщении. По сути, я ищу пересечение дополнений множеств букв предыдущего и последующего слов с множеством букв среднего слова.
Все уже можно посмотреть в разделе На Заказ.. smile.gif


--------------------
я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #7


Perl. Just code it!
******

Группа: Пользователи
Сообщений: 4 100
Пол: Мужской
Реальное имя: Андрей

Репутация: -  44  +


Понятно, есть у мну еще одна идейка, приду домой попробую сделать.


--------------------
perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #8


Гость






Lapp, на строке, содержащей символы кириллицы часть твоего кода не отработает (а именно - UpStr).
 К началу страницы 
+ Ответить 
сообщение
Сообщение #9


Perl. Just code it!
******

Группа: Пользователи
Сообщений: 4 100
Пол: Мужской
Реальное имя: Андрей

Репутация: -  44  +


Цитата
Найти в тексте слова, содержащие не более одной буквы, не входящей ни в последующее, ни в предыдущее слово, записать их заглавными буквами и указать после каждого такого слова в скобках найденную букву.


А что делать в случае, если такой буквы нет ?

прим.

abc abc abc

Что указывать в скобках после слова?

Сообщение отредактировано: klem4 -


--------------------
perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #10


Уникум
*******

Группа: Пользователи
Сообщений: 6 823
Пол: Мужской
Реальное имя: Лопáрь (Андрей)

Репутация: -  159  +


Цитата(volvo @ 9.06.2007 12:55) *

Lapp, на строке, содержащей символы кириллицы часть твоего кода не отработает (а именно - UpStr).

Да, спасибо за поправку. Я делал это сознательно (так как алфавит не указан в задании), но надо было упомянуть, а я забыл..
Цитата(klem4 @ 9.06.2007 13:27) *

А что делать в случае, если такой буквы нет ?

Я выдаю пробел. В задании это не указано, так что я проявил фантазию smile.gif. Мне кажется, это логично.


--------------------
я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 17.01.2021 1:28
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name