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

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

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

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


Гость






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


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

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

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


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

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


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


Гость






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


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

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

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


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


--------------------
я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
klem4
сообщение 9.06.2007 8:09
Сообщение #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 
 К началу страницы 
+ Ответить 
Lapp
сообщение 9.06.2007 8:16
Сообщение #6


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

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

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


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

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

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


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


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

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

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


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


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


Гость






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


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

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

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


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


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

прим.

abc abc abc

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

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


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

 

- Текстовая версия 31.07.2025 2:12
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"