Удалить из текста слова, в которых только три различные буквы - Pascal

Узнай цену своей работы

Формулировка задачи:

Дан текст из слов, разделенных пробелами. Удалить из текста все слова, в которых только три различные буквы (например, дом, кара и т.д.). Если таких слов нет, выдать соответствующее сообщение

Решение задачи: «Удалить из текста слова, в которых только три различные буквы»

textual
Листинг программы
  1. var s:string;
  2.     i,j:integer;
  3.     f:=false;
  4. function i3(x:string):boolean;
  5. var m:set of char;
  6.     i,k:byte;
  7. begin
  8.    m:=[];k:=0;
  9.    for i:=1 to length(x) do
  10.     if not(x[i] in m) then begin inc(k); m:=m+[x[i]] end;
  11.    i3:=k=3
  12. end;    
  13. begin
  14.  write('s = ');readln(s);s:=s+' ';
  15.  i:=1;f:=false;
  16.  while i<=length(s) do
  17.   begin
  18.    j:=i;
  19.    while s[j]<>' ' do inc(j);
  20.    if i3(copy(s,i,j-i)) then begin delete(s,i,j-i+1);f:=true end
  21.                         else i:=j+1;
  22.   end;              
  23.  if f then writeln(s)
  24.       else writeln('нет слов в которых только три различные буквы')
  25. 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

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы