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

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

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

> множества
Sqrin
сообщение 11.05.2005 0:05
Сообщение #1


Гость






Дана последовательность, содержащая от 2 до 50 слов, в каждом из которых от 1 до 8 строчных латинских букв; между соседними словами – запятая или не менее одного пробела, за последним словом - точка.
Напечатать те слова последовательности, которые отличны от последнего слова и
удовлетворяют следующему свойству:
- в слове гласные чередуются с согласными;
Напечатать те слова последовательности, которые отличны от последнего слова,
предварительно преобразовав каждое из них по следующему правилу:
- если слово нечетной длины, то удалить его среднюю букву.


напишите плиз
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
volvo
сообщение 17.06.2005 13:58
Сообщение #2


Гость






klem4, а как тебе вот такой способ решения первого задания (насчет чередования)?
const
glasn=['q','e','y','u','i','o','a'];
sogl=['a'..'z']-glasn;

type char_set = set of char;
const
arrset: array[boolean] of char_set =
(glasn, sogl);
var
flag, which:boolean;
...
for i := 1 to n-1 do begin
which := posl[i][1] in glasn;
flag := true; j := 1;
while (j <= length(posl[i])) and flag do begin
flag := posl[i][j] in arrSet[which xor odd(j)];
inc(j)
end;

if flag and (posl[i] <> posl[n])
then writeln(posl[i])
end;

;)
 К началу страницы 
+ Ответить 
klem4
сообщение 17.06.2005 14:03
Сообщение #3


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

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

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


Цитата(volvo @ 17.06.05 13:58)
klem4, а как тебе вот такой способ решения первого задания (насчет чередования)?



...красиво :D


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


Профи
****

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

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


Цитата(klem4 @ 17.06.05 14:03)
...красиво  :D


Раз такая пьянка пошла, чередование так проще проверить:


st:='';
for k:=1 to length(words[i]) do
st:=st+char($30+byte(words[i][k] in glasn));
if not((pos('00',st)>0) or (pos('11',st)>0)) then { чередуются }


и как то нагляднее :p2:

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

Сообщение отредактировано: volvo - 17.06.2005 16:14
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме
Sqrin   множества   11.05.2005 0:05
volvo   Помочь - пожалуйста, но писАть полностью :no: Х...   11.05.2005 0:18
asCOOLs   ето понятно ... вот тока определение согласные или...   17.05.2005 0:28
volvo   const glas = ['a', 'e', 'i...   17.05.2005 0:33
Sqrin   как задатьмножество я понимаю а вот.... Напечатать...   15.06.2005 9:19
volvo   Ну, для этого допустим надо разбивать строку на с...   15.06.2005 9:27
Sqrin   о елки .. оболдеть... что то я запутолся... ксат...   15.06.2005 9:39
Archon   1. не 50 символов в строке, а 50 слов. Поставь про...   15.06.2005 14:05
Malice   Если я все правильно понял, то 50 слов * (8 символ...   16.06.2005 14:03
klem4   что значит ? программа, описаная выше, видишь ? ...   16.06.2005 14:07
Malice   Массив заполняется при вводе ? Нет. Там readln (...   16.06.2005 14:11
Archon   :D :D :D :D :D :D :D Можно S : string; зам...   16.06.2005 14:23
Malice   Зря ты так. Может в этом и суть :) Описано уж бо...   16.06.2005 14:38
volvo   Что именно КОНКРЕТНО описано? Я например виже тол...   16.06.2005 14:55
Guest   Нежнее, volvo, нежнее. Работа программиста приуч...   16.06.2005 22:57
klem4   Можно вводить сразу массив слов : uses crt; cons...   16.06.2005 14:55
Archon   Да ну вас... Мы же с Malice пошутили... :p2: У на...   16.06.2005 14:59
klem4   Не уверен что отрабатывает полностью правильно, та...   16.06.2005 16:35
volvo   Вот этот кусок вызывает сомнения: clrscr; ...   17.06.2005 12:08
klem4   А если так : write('n='); readln(n); ...   17.06.2005 13:05
volvo   klem4, а как тебе вот такой способ решения первого...   17.06.2005 13:58
klem4   ...красиво :D   17.06.2005 14:03
Malice   Раз такая пьянка пошла, чередование так проще пр...   17.06.2005 16:09
Archon   volvo, я твою функцию get_words чуток подправил и ...   17.06.2005 14:36
Archon   volvo, оценил проверку на чередование. Не знал, чт...   17.06.2005 16:00


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

 



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