Написать программу ** Паскале Дана строка текста напечатать все слова,заканчивающиеся **...

0 голосов
104 просмотров

Написать программу на Паскале
Дана строка текста напечатать все слова,заканчивающиеся на "ов".
Если можно,то напишите программу с помощью функции Pos


Информатика (215 баллов) | 104 просмотров
0

Как слова отделяются друг от друга?

0

знаков препинания в строке нет

0

Когда нет определения, что такое слово, бессмысленно спрашивать о разделителях - какие они, колько подряд и т.д.

0

слово-набор букв.

0

в паскале ж вроде есть регекспы, вот самое оно для решения

0

Регэкспы не в Паскале, а в библиотеке .NET

0

Только тут же Рos() хотят.

Дан 1 ответ
0 голосов
Правильный ответ

Считается, что слова отделяются друг от друга пробелом.
var s:string; p:integer;
begin
writeln('Введите строку:');
readln(s);
s:=s+' ';
p:=pos(' ',s);
while p>0 do
 begin
 if pos('ов ',s)=p-2 then writeln(copy(s,1,p-1));
 delete(s,1,p);
 p:=pos(' ',s);
 end;
end.

Пример:
Введите строку:
пример кров слово шов олово ров
кров
шов
ров

(194k баллов)