Удалить из текста слова, в которых только три различные буквы - 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.

Объяснение кода листинга программы

  1. Объявляется переменная s типа string для хранения вводимой строки.
  2. Объявляются переменные i и j типа integer для использования в циклах и операциях над строками.
  3. Объявляется переменная f без указания типа. Предполагается, что будет тип boolean.
  4. Создается функция i3 для проверки строки на наличие только трех различных букв.
  5. Внутри функции объявляются переменные m - множество символов и k - переменная для подсчета количества различных букв в строке.
  6. В основной части программы считывается ввод пользователя и добавляется пробел в конец строки s.
  7. Устанавливаются начальные значения переменных i и f.
  8. Выполняется цикл, идущий до конца введенной строки.
  9. В цикле находится границы отдельных слов.
  10. Проводится проверка слова на наличие только трех различных букв при помощи функции i3, и в случае нахождения такого слова оно удаляется из строки s.
  11. Если было удалено хотя бы одно слово, выведется измененная строка. В противном случае будет выводиться сообщение о том, что в строке нет слов, удовлетворяющих условию.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

13   голосов , оценка 3.615 из 5
Похожие ответы