Предмет: Информатика, автор: Ytar99

Модифицируйте программу так, чтобы печатались только:
а) слова, начинающиеся на букву «л»;
б) слова, заканчивающиеся на букву «ь»;

Код программы:
var
stroka, slovo : string;
i : integer;
begin
var b:=['a'..'z','A'..'Z','а'..'я','А'..'Я'];
WriteLn('Введите строку из русских слов с любыми разделителями ');
ReadLn(stroka);
stroka:=trim(stroka);
stroka:=stroka + '.'; // В конец строки поставим точку для того,
// чтоб гарантировать обязательное завершение программы
i:= 1; // рассматривать строку будем с первой буквы
while Length(stroka) <> 0 do
begin
if pos(copy(stroka,i,1),' ,.?!-:;') <> 0 then
{если i-ый символ из строки stroka содержится в строке ' ,.?!-:;', то}
begin
slovo := copy(stroka,1,i-1); // копируем слово
writeln(slovo); //печатаем его
delete(stroka,1,i-1); // Удаляем его из текста
while (length(stroka)>0)and (not(stroka[1] in b)) do
delete(stroka,1,1); // удаляем все разделители до следующего слова
i := 1; // снова рассматриваем слово с первого символа
end
else i := i+1; // определяем следующий символ
end;
end.

Приложения:

Giammy: Что делает предоставленный код?
Giammy: Вроде PABC, а столько воды
Ytar99: Программа после каждого разделителя переносит слово на следующую строку.
Т.е. ищет слово в строке до следующего разделителя (пробел, запятая и т.д.), копирует слово из stroka в slovo, печатает его, затем удаляет из stroka. И снова ищет слово с начала строки.

Ответы

Автор ответа: Giammy
2
Нужно добавить всего-то 1 строку:
...
if pos(copy(stroka,i,1),' ,.?!-:;') <> 0 then 
{если i-ый символ из строки stroka содержится в строке ' ,.?!-:;', то}
begin 
slovo := copy(stroka,1,i-1); // копируем слово
If (slovo[1]='л') or (slovo[Length(slovo)]='ь') then Writeln(Slovo);
delete(stroka,1,i-1); // Удаляем его из текста
while (length(stroka)>0)and (not(stroka[1] in b)) do 
delete(stroka,1,1); // удаляем все разделители до следующего слова
i := 1; // снова рассматриваем слово с первого символа
end
....
Похожие вопросы
Предмет: Русский язык, автор: kdgdvsikhshbdh
Предмет: Математика, автор: Элинка131