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

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

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

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


Гость






Дана непустая последовательность слов из строчных русских букв; между соседними словами – запятая, за последним словом – точка. Напечатать в алфавитном порядке все гласные буквы, которые входят в два последних слова.

Как решать? blink.gif blink.gif blink.gif помогите unsure.gif
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Гуру
*****

Группа: Пользователи
Сообщений: 1 220
Пол: Мужской

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


Поиск
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Гость






А можно хоть примерно набросать мою задачу? unsure.gif
Пробовал делать по другим примерам - не выходит dry.gif
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4


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

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

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


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


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


Гость






Фантомас,
два последних слова - это после последной запятой, так?
const
glasn = ['a', 'e', 'i', 'o', 'u']; { можно поменять на русские }
var
s: string;
p, i: byte;
my_set: set of char;
begin
write('s = '); readln(s);

p := length(s);
while s[p] <> ',' do dec(p);
for i := p to length(s) do
if s[i] in glasn then include(my_set, s[i]);
for i := 0 to 255 do
if chr(i) in my_set then write(chr(i):3);
end.
 К началу страницы 
+ Ответить 
сообщение
Сообщение #6


Гость






Спасибо Вольво,
только почему-то прога считает гласные только в последнем слове.
И как предусмотреть, что последовательность слов заканчивается точкой?

klem4
Спасибо за ссылку, уже читаю
 К началу страницы 
+ Ответить 
сообщение
Сообщение #7


Гость






Фантомас, приведи пример строки, которую ты задаешь...

Если ты НЕ отклоняешься от того, что написано в задании, то все должно работать...
 К началу страницы 
+ Ответить 
сообщение
Сообщение #8


Гость






Ну вот, ввожу (в начале поменял на русские буквы)
дом,улица,фонарь,аптека.

Сообщение отредактировано: Фантомас -


Эскизы прикрепленных изображений
Прикрепленное изображение
 К началу страницы 
+ Ответить 
сообщение
Сообщение #9


Гость






Блин... Ну конечно !!! После ПРЕДпоследней запятой...

const
glasn = ['a', 'e', 'i', 'o', 'u']; { Кириллица }
var
s: string;
p, i: byte;
my_set: set of char;
begin
write('s = '); readln(s);
p := length(s);
for i := 1 to 2 do begin
while (p > 1) and (s[p] <> ',') do dec(p);
dec(p)
end;

for i := p + 1 to length(s) do
if s[i] in glasn then include(my_set, s[i]);
for i := 0 to 255 do
if chr(i) in my_set then write(chr(i):3);
end.
 К началу страницы 
+ Ответить 

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

 





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