![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() ![]() |
![]() |
gyrosa |
![]()
Сообщение
#1
|
Группа: Пользователи Сообщений: 8 Пол: Женский Реальное имя: оля Репутация: ![]() ![]() ![]() |
Здравствуйте, Всем! Помогите решить эту задачку, знаю как найти длинное, короткое слова, а как быть с гласными не знаю.( если не сложно напишите весь код программы, буду тогда разбираться, уже сил никаких нет...
Найти в строке самое короткое и самое длинное слова, в которых одновременно присутствуют все гласные буквы. Использовать функцию, возвращающую строку,содержащую слова, которые требуется найти в исходной строке. |
Lapp |
![]()
Сообщение
#2
|
![]() Уникум ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 6 823 Пол: Мужской Реальное имя: Лопáрь (Андрей) Репутация: ![]() ![]() ![]() |
знаю как найти длинное, короткое слова, Выложи тут то, что сделала. Поможем.-------------------- я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой |
gyrosa |
![]()
Сообщение
#3
|
Группа: Пользователи Сообщений: 8 Пол: Женский Реальное имя: оля Репутация: ![]() ![]() ![]() |
ну вот...
var s,word: string;
max,p: integer;
begin
writeln ('vvedite stroky');
readln (s);
max:=0;
repeat
begin
p:=pos(' ',s);
if p=0 then
begin
if length(s)>max then
begin
max:=length(s);
word:=copy(s,1,length(s));
end;
delete(s,1,max);
end
else if (p-1)>max then
begin
max:=p-1;
word:=copy(s,1,p-1);
delete(s,1,p);
end
else if ((p-1)<max) or ((p-1)=max) then delete(s,1,p);
end;
until length(s)=0;
writeln('Max dlinna slova: ',max,'');
writeln('Samoe dlinnoe slovo: ',word,'');
readln
end.
Но ведь так только находим самое длинное слово(короткое аналогично), а как совместить с гласными не знаю..( Сообщение отредактировано: Lapp - 12.12.2007 12:24 |
Malice |
![]()
Сообщение
#4
|
![]() Профи ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 705 Пол: Мужской Репутация: ![]() ![]() ![]() |
например так можно поверить:
Объявляешь: var c:set of char;
c:=['а','о','у']; {и так далее, все гласные}
s:='aaacdfbgcght'; {твое слово}
for i:=1 to length (s) do c:=c-[s[i]]; {вычитаем из множества гласных все буквы по очереди}
теперь если c=[], т.е. пустое, значит в слове встречались все буквы из множества. |
gyrosa |
![]()
Сообщение
#5
|
Группа: Пользователи Сообщений: 8 Пол: Женский Реальное имя: оля Репутация: ![]() ![]() ![]() |
Спасибо большое!щас попробую что-нибудь сделать..если что, спрошу)
![]() |
gyrosa |
![]()
Сообщение
#6
|
Группа: Пользователи Сообщений: 8 Пол: Женский Реальное имя: оля Репутация: ![]() ![]() ![]() |
О,а куда это надо вставить в моем куске программы?
|
Malice |
![]()
Сообщение
#7
|
![]() Профи ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 705 Пол: Мужской Репутация: ![]() ![]() ![]() |
А забыцай в функцию:
Function Test (s:string): boolean;
var c:set of char;
i:integer;
begin
c:=['а','о','у']; {и так далее, все гласные}
for i:=1 to length (s) do c:=c-[s[i]]; {вычитаем из множества гласных все буквы по очереди}
if c=[] then test:=true else test:=false;
end;
И вызывай ее где тебе надо. |
gyrosa |
![]()
Сообщение
#8
|
Группа: Пользователи Сообщений: 8 Пол: Женский Реальное имя: оля Репутация: ![]() ![]() ![]() |
Большое спасибо!!!
![]() |
![]() ![]() |
![]() |
Текстовая версия | 29.07.2025 14:58 |