Для произвольного текста вывести и удалить слова заданной длины - Free Pascal
Формулировка задачи:
создать программу в паскаль для произвольного текста записать и удалить слова заданной длины. помогите сделать, пожалуйста! надо сделать так, чтобы находились слова заданной длины, выводились на экран, а затем выводился текст без этих слов
Решение задачи: «Для произвольного текста вывести и удалить слова заданной длины»
textual
Листинг программы
const delim='., :;!-';
var
s,s1,sr:string;
n,i:integer;
begin
write('введите текст:');
readln(s);s:=s+' ';
write('слова какой длины нужно удалить:');
readln(n);
for i:=1 to length(s) do
if pos(s[i],delim)>0 then begin
if length(s1)=n then begin sr:=sr+s[i]; writeln(s1);end
else sr:=sr+s1+s[i];
s1:='';
end else s1:=s1+s[i];
writeln('полученный текст:',sr);
end.
Объяснение кода листинга программы
- Объявлены константа
delim, которая содержит разделители, и переменныеs,s1,sr,n,iтипаstringиinteger. - Пользователю предлагается ввести текст и слова, которые нужно удалить.
- Введенный текст сохраняется в переменной
s, а затем в цикле разбивается на отдельные слова, которые добавляются в переменнуюs1, если их длина соответствует заданной. - Если длина
s1равнаn, то текущее слово добавляется вsr, а затем выводится на экран. - Если длина
s1меньшеn, то текущее слово добавляется вsr, а затем к нему добавляетсяs1. - После обработки всех слов, выводится на экран полученный текст.