Помощь - Поиск - Пользователи - Календарь
Полная версия: Строки
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
gyrosa
Здравствуйте, Всем! Помогите решить эту задачку, знаю как найти длинное, короткое слова, а как быть с гласными не знаю.( если не сложно напишите весь код программы, буду тогда разбираться, уже сил никаких нет...


Найти в строке самое короткое и самое длинное слова, в которых одновременно присутствуют все гласные буквы.
Использовать функцию, возвращающую строку,содержащую слова, которые требуется найти в исходной строке.
Lapp
Цитата(gyrosa @ 11.12.2007 14:54) *
знаю как найти длинное, короткое слова,
Выложи тут то, что сделала. Поможем.
gyrosa
ну вот...

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.

Но ведь так только находим самое длинное слово(короткое аналогично), а как совместить с гласными не знаю..(
Malice
например так можно поверить:
Объявляешь:
var c:set of char;


c:=['а','о','у']; {и так далее, все гласные}
s:='aaacdfbgcght'; {твое слово}
for i:=1 to length (s) do c:=c-[s[i]]; {вычитаем из множества гласных все буквы по очереди}

теперь если c=[], т.е. пустое, значит в слове встречались все буквы из множества.
gyrosa
Спасибо большое!щас попробую что-нибудь сделать..если что, спрошу) give_rose.gif
gyrosa
О,а куда это надо вставить в моем куске программы?
Malice
А забыцай в функцию:

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
Большое спасибо!!! give_rose.gif
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.