Удалить из текста слова, в которых только три различные буквы - Pascal
Формулировка задачи:
Дан текст из слов, разделенных пробелами. Удалить из текста все слова, в которых только три различные буквы (например, дом, кара и т.д.). Если таких слов нет, выдать соответствующее сообщение
Решение задачи: «Удалить из текста слова, в которых только три различные буквы»
textual
Листинг программы
var s:string; i,j:integer; f:=false; function i3(x:string):boolean; var m:set of char; i,k:byte; begin m:=[];k:=0; for i:=1 to length(x) do if not(x[i] in m) then begin inc(k); m:=m+[x[i]] end; i3:=k=3 end; begin write('s = ');readln(s);s:=s+' '; i:=1;f:=false; while i<=length(s) do begin j:=i; while s[j]<>' ' do inc(j); if i3(copy(s,i,j-i)) then begin delete(s,i,j-i+1);f:=true end else i:=j+1; end; if f then writeln(s) else writeln('нет слов в которых только три различные буквы') end.
Объяснение кода листинга программы
- Объявляется переменная
s
типа string для хранения вводимой строки. - Объявляются переменные
i
иj
типа integer для использования в циклах и операциях над строками. - Объявляется переменная
f
без указания типа. Предполагается, что будет тип boolean. - Создается функция
i3
для проверки строки на наличие только трех различных букв. - Внутри функции объявляются переменные
m
- множество символов иk
- переменная для подсчета количества различных букв в строке. - В основной части программы считывается ввод пользователя и добавляется пробел в конец строки
s
. - Устанавливаются начальные значения переменных
i
иf
. - Выполняется цикл, идущий до конца введенной строки.
- В цикле находится границы отдельных слов.
- Проводится проверка слова на наличие только трех различных букв при помощи функции
i3
, и в случае нахождения такого слова оно удаляется из строкиs
. - Если было удалено хотя бы одно слово, выведется измененная строка. В противном случае будет выводиться сообщение о том, что в строке нет слов, удовлетворяющих условию.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д